{"data":{"skill":{"slug":"emilkowalski-apple-design","name":"apple-design","icon":"📦","repo":"https://github.com/emilkowalski/skills/tree/main/skills/apple-design/","status":"approved","author":"emilkowalski","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"03e41b10-b051-44b2-8930-fbea218caa5c","skill_id":"9f4f43d3-0cf2-413c-ba09-df92bcad311e","version":2,"content_hash":"v3:d1c4c60b80afc545d96b5e8a51c19b2fdc81df70:11840b24a11d7f94f39c6aaab074750ae4e4de4ef54ee4b1dd97e16ebd485e61:035779e52787e8ccf4dd56238b56f8cf2c37c5f84294bbc984bd4af35a0f9ab2:736b696c6c732f656d696c6b6f77616c736b692f6170706c652d64657369676e:0829af26b8f2e2c0b88ef26bdda7aab1","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 62 static findings are false positives caused by Markdown code delimiters and ordinary design terminology. The single skill file contains educational web-design guidance and examples, with no executable commands, reconnaissance, data collection, or prompt-injection attempt found.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":8,"line_start":8},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":34,"line_start":28},{"file":"SKILL.md","line_end":42,"line_start":34},{"file":"SKILL.md","line_end":43,"line_start":42},{"file":"SKILL.md","line_end":45,"line_start":43},{"file":"SKILL.md","line_end":51,"line_start":45},{"file":"SKILL.md","line_end":61,"line_start":51},{"file":"SKILL.md","line_end":73,"line_start":61},{"file":"SKILL.md","line_end":73,"line_start":73},{"file":"SKILL.md","line_end":78,"line_start":77},{"file":"SKILL.md","line_end":84,"line_start":78},{"file":"SKILL.md","line_end":84,"line_start":84},{"file":"SKILL.md","line_end":85,"line_start":85},{"file":"SKILL.md","line_end":86,"line_start":86},{"file":"SKILL.md","line_end":88,"line_start":88},{"file":"SKILL.md","line_end":98,"line_start":90},{"file":"SKILL.md","line_end":106,"line_start":98},{"file":"SKILL.md","line_end":108,"line_start":106},{"file":"SKILL.md","line_end":110,"line_start":108},{"file":"SKILL.md","line_end":110,"line_start":110},{"file":"SKILL.md","line_end":129,"line_start":120},{"file":"SKILL.md","line_end":131,"line_start":129},{"file":"SKILL.md","line_end":138,"line_start":131},{"file":"SKILL.md","line_end":149,"line_start":138},{"file":"SKILL.md","line_end":154,"line_start":149},{"file":"SKILL.md","line_end":160,"line_start":154},{"file":"SKILL.md","line_end":169,"line_start":160},{"file":"SKILL.md","line_end":169,"line_start":169},{"file":"SKILL.md","line_end":175,"line_start":173},{"file":"SKILL.md","line_end":183,"line_start":175},{"file":"SKILL.md","line_end":189,"line_start":183},{"file":"SKILL.md","line_end":203,"line_start":189},{"file":"SKILL.md","line_end":204,"line_start":203},{"file":"SKILL.md","line_end":205,"line_start":204},{"file":"SKILL.md","line_end":209,"line_start":205},{"file":"SKILL.md","line_end":216,"line_start":209},{"file":"SKILL.md","line_end":222,"line_start":216},{"file":"SKILL.md","line_end":222,"line_start":222},{"file":"SKILL.md","line_end":225,"line_start":225},{"file":"SKILL.md","line_end":237,"line_start":228},{"file":"SKILL.md","line_end":269,"line_start":237},{"file":"SKILL.md","line_end":269,"line_start":269},{"file":"SKILL.md","line_end":270,"line_start":270},{"file":"SKILL.md","line_end":272,"line_start":271},{"file":"SKILL.md","line_end":272,"line_start":272},{"file":"SKILL.md","line_end":281,"line_start":280},{"file":"SKILL.md","line_end":281,"line_start":281}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":283,"audit_model":"claude","audited_at":"2026-07-21T02:36:15.113+00:00","created_at":"2026-07-21T02:42:21.920582+00:00","static_findings":[{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"How Apple builds interfaces that stop feeling like a computer and start feeling like an extension of","category":"external_commands","line_end":8,"severity":"medium","line_start":8},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Respond on pointer-down, not on release.** Highlight a button the instant it's pressed. Waiting ","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```css","category":"external_commands","line_end":34,"severity":"medium","line_start":28},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":42,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Use Pointer Events with `setPointerCapture` so tracking continues even when the pointer leaves the","category":"external_commands","line_end":43,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:43:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Track a short **velocity/position history** (last few `pointermove` events), not just the current ","category":"external_commands","line_end":45,"severity":"medium","line_start":43},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```js","category":"external_commands","line_end":51,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":61,"severity":"medium","line_start":51},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Avoid CSS transitions and `@keyframes` for anything gesture-driven** — they can't be smoothly gr","category":"external_commands","line_end":73,"severity":"medium","line_start":61},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Damping ratio** — controls overshoot. `1.0` = critically damped, no bounce, smooth settle. `< 1.","category":"external_commands","line_end":73,"severity":"medium","line_start":73},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Start most UI at **damping `1.0`** (critically damped) — graceful and non-distracting.","category":"external_commands","line_end":78,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Add bounce (**damping ~`0.8`**) **only when the gesture itself carried momentum** (a flick, a thro","category":"external_commands","line_end":84,"severity":"medium","line_start":78},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Move / reposition (e.g. PiP) | `1.0` | `0.4` |","category":"external_commands","line_end":84,"severity":"medium","line_start":84},{"id":"external_commands:SKILL.md:85:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Rotation | `0.8` | `0.4` |","category":"external_commands","line_end":85,"severity":"medium","line_start":85},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Drawer / sheet | `0.8` | `0.3` |","category":"external_commands","line_end":86,"severity":"medium","line_start":86},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"**Web mapping (Motion / Framer Motion):** the `bounce` + `duration` spring API maps closely to Apple","category":"external_commands","line_end":88,"severity":"medium","line_start":88},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```js","category":"external_commands","line_end":98,"severity":"medium","line_start":90},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":106,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:106:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":108,"severity":"medium","line_start":106},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":110,"severity":"medium","line_start":108},{"id":"external_commands:SKILL.md:110:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Example: element at `y=50`, target `y=150` (100px to go), finger moving 50px/s → initial spring velo","category":"external_commands","line_end":110,"severity":"medium","line_start":110},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```js","category":"external_commands","line_end":129,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":131,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Note: the physics-textbook `v2/(2·decel)` is *not* what Apple ships — use the exponential-decay form","category":"external_commands","line_end":138,"severity":"medium","line_start":131},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Anchor interactions to their source.** A menu, popover, or sheet should originate from the eleme","category":"external_commands","line_end":149,"severity":"medium","line_start":138},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```js","category":"external_commands","line_end":154,"severity":"medium","line_start":149},{"id":"external_commands:SKILL.md:154:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":160,"severity":"medium","line_start":154},{"id":"external_commands:SKILL.md:160:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Detect all plausible gestures in parallel from the first move**, then confidently cancel the los","category":"external_commands","line_end":169,"severity":"medium","line_start":160},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `requestAnimationFrame` is the web's display-synced clock (Apple uses `CADisplayLink`). Animate on","category":"external_commands","line_end":169,"severity":"medium","line_start":169},{"id":"external_commands:SKILL.md:173:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Apple uses translucent materials as a floating functional layer that brings structure without steali","category":"external_commands","line_end":175,"severity":"medium","line_start":173},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Build nav/toolbars/sheets as translucent layers** (`backdrop-filter: blur()` + a semi-transparen","category":"external_commands","line_end":183,"severity":"medium","line_start":175},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```css","category":"external_commands","line_end":189,"severity":"medium","line_start":183},{"id":"external_commands:SKILL.md:189:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":203,"severity":"medium","line_start":189},{"id":"external_commands:SKILL.md:203:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **`prefers-reduced-motion: reduce`** — replace slides/springs/parallax with short opacity **cross-","category":"external_commands","line_end":204,"severity":"medium","line_start":203},{"id":"external_commands:SKILL.md:204:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **`prefers-reduced-transparency: reduce`** — make translucent surfaces frostier/solid: raise backg","category":"external_commands","line_end":205,"severity":"medium","line_start":204},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **`prefers-contrast: more`** — near-solid backgrounds with a defined, contrasting border.","category":"external_commands","line_end":209,"severity":"medium","line_start":205},{"id":"external_commands:SKILL.md:209:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```css","category":"external_commands","line_end":216,"severity":"medium","line_start":209},{"id":"external_commands:SKILL.md:216:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":222,"severity":"medium","line_start":216},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Tracking (letter-spacing) is size-specific — never one value for all sizes.** Large display text","category":"external_commands","line_end":222,"severity":"medium","line_start":222},{"id":"external_commands:SKILL.md:225:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Respect the user's text-size setting** (Dynamic Type). Scale layout *with* the text — spacing in","category":"external_commands","line_end":225,"severity":"medium","line_start":225},{"id":"external_commands:SKILL.md:228:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```css","category":"external_commands","line_end":237,"severity":"medium","line_start":228},{"id":"external_commands:SKILL.md:237:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":269,"severity":"medium","line_start":237},{"id":"external_commands:SKILL.md:269:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Default UI spring | Critically damped, no overshoot | `damping 1.0`, `response 0.3–0.4` |","category":"external_commands","line_end":269,"severity":"medium","line_start":269},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Momentum / flick spring | Under-damped, slight bounce | `damping ~0.8`, `response 0.3–0.4` |","category":"external_commands","line_end":270,"severity":"medium","line_start":270},{"id":"external_commands:SKILL.md:271:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Gesture → spring velocity | Hand off release velocity | `gestureVelocity / (target − current)` if ","category":"external_commands","line_end":272,"severity":"medium","line_start":271},{"id":"external_commands:SKILL.md:272:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Flick landing point | Project momentum | `current + (v/1000)·d/(1−d)`, `d ≈ 0.998` |","category":"external_commands","line_end":272,"severity":"medium","line_start":272},{"id":"external_commands:SKILL.md:280:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Translucent chrome | `backdrop-filter` layer | content scrolls under |","category":"external_commands","line_end":281,"severity":"medium","line_start":280},{"id":"external_commands:SKILL.md:281:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Type tracking | Size-specific, never fixed | tighten large text (`-0.02em`), body near `0` |","category":"external_commands","line_end":281,"severity":"medium","line_start":281},{"id":"blocker:SKILL.md:8:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"How Apple builds interfaces that stop feeling like a computer and start feeling like an extension of","category":"blocker","line_end":8,"severity":"low","line_start":8},{"id":"blocker:SKILL.md:16:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"An interface is fluid when it behaves like the physical world: things respond instantly, move contin","category":"blocker","line_end":16,"severity":"low","line_start":16},{"id":"blocker:SKILL.md:61:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **Avoid CSS transitions and `@keyframes` for anything gesture-driven** — they can't be smoothly gr","category":"blocker","line_end":61,"severity":"low","line_start":61},{"id":"blocker:SKILL.md:62:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **When a gesture reverses, blend velocity — don't hard-cut it.** Replacing one animation with anot","category":"blocker","line_end":62,"severity":"low","line_start":62},{"id":"blocker:SKILL.md:118:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"Apple's exact projection function (from the *Designing Fluid Interfaces* sample code):","category":"blocker","line_end":118,"severity":"low","line_start":118},{"id":"blocker:SKILL.md:160:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **Detect all plausible gestures in parallel from the first move**, then confidently cancel the los","category":"blocker","line_end":160,"severity":"low","line_start":160},{"id":"blocker:SKILL.md:167:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- Keep the per-frame positional change below the perception threshold to avoid strobing.","category":"blocker","line_end":167,"severity":"low","line_start":167},{"id":"blocker:SKILL.md:179:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **Vibrancy keeps text legible over changing backgrounds.** Over blurred/translucent surfaces, don'","category":"blocker","line_end":179,"severity":"low","line_start":179},{"id":"blocker:SKILL.md:187:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"border-top: 1px solid rgba(255, 255, 255, 0.4); /* bright top edge = light catching the material */","category":"blocker","line_end":187,"severity":"low","line_start":187},{"id":"blocker:SKILL.md:203:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **`prefers-reduced-motion: reduce`** — replace slides/springs/parallax with short opacity **cross-","category":"blocker","line_end":203,"severity":"low","line_start":203},{"id":"blocker:SKILL.md:205:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **`prefers-contrast: more`** — near-solid backgrounds with a defined, contrasting border.","category":"blocker","line_end":205,"severity":"low","line_start":205},{"id":"blocker:SKILL.md:207:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"Also: avoid full-viewport moving backgrounds, slow looping oscillations (near 0.2 Hz / one cycle per","category":"blocker","line_end":207,"severity":"low","line_start":207},{"id":"blocker:SKILL.md:274:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"| Avoid reversal \"brick wall\" | Carry velocity through re-target | spring that blends velocity |","category":"blocker","line_end":274,"severity":"low","line_start":274},{"id":"blocker:SKILL.md:259:network-reconnaissance","file":"SKILL.md","pattern":"Network reconnaissance","snippet":"## 17. Process","category":"blocker","line_end":261,"severity":"low","line_start":259}],"finding_verdicts":[{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:43:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:85:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:106:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:110:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:154:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:160:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:173:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:189:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:203:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:204:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:209:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:216:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:225:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:228:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:237:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:269:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:271:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:272:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:280:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:281:ruby-shell-backtick-execution","reason":"The matched backticks delimit inline code and fenced CSS or JavaScript examples in instructional Markdown. They do not invoke a shell or Ruby interpreter.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:8:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:16:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:61:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:62:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:118:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:160:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:167:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:179:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:187:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:203:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:205:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:207:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:274:system-reconnaissance","reason":"The matched language discusses interface behavior, accessibility, or design terminology in Markdown. It contains no system discovery command, collection instruction, or reconnaissance activity.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:259:network-reconnaissance","reason":"The text is a section heading for an interface-design process and contains no network operation, endpoint, or collection instruction. It does not perform network reconnaissance.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"d1c4c60b80afc545d96b5e8a51c19b2fdc81df70","subject_content_hash":"11840b24a11d7f94f39c6aaab074750ae4e4de4ef54ee4b1dd97e16ebd485e61","subject_tree_hash":"035779e52787e8ccf4dd56238b56f8cf2c37c5f84294bbc984bd4af35a0f9ab2","subject_plugin_path":"skills/emilkowalski/apple-design","audit_payload_hash":"0829af26b8f2e2c0b88ef26bdda7aab1","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"d1c4c60b80afc545d96b5e8a51c19b2fdc81df70","contentHash":"11840b24a11d7f94f39c6aaab074750ae4e4de4ef54ee4b1dd97e16ebd485e61","treeHash":"035779e52787e8ccf4dd56238b56f8cf2c37c5f84294bbc984bd4af35a0f9ab2","pluginPath":"skills/emilkowalski/apple-design","auditPayloadHash":"0829af26b8f2e2c0b88ef26bdda7aab1"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"unavailable","url":null,"status":null},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"unavailable","verificationState":"not_verified"},"isLatest":true}}