{"data":{"skill":{"slug":"sickn33-interactive-portfolio","name":"interactive-portfolio","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/interactive-portfolio","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"e26a5771-1e34-4fd9-944a-4d6374919446","skill_id":"c7fc4f07-ef40-4229-b277-510703f8dcf5","version":5,"content_hash":"v3:88a8e9a07f4c54ab105c1c41b6267c287146b07b:1ef8b884550972c9fbd46869bfa14cfa685fb41156e17fb0605d714538423cc2:ce0ef742763a44f52a1a1e3e1607369939241683a370e869be022e0d2f90454e:736b696c6c732f7369636b6e33332f696e7465726163746976652d706f7274666f6c696f:bac82353b555e984156fd4e66733728a","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 31 static detections are false positives. The 23 external-command matches are Markdown fences or inline code, while the eight reconnaissance matches are ordinary portfolio guidance with no system inspection intent.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":89,"line_start":74},{"file":"SKILL.md","line_end":92,"line_start":89},{"file":"SKILL.md","line_end":97,"line_start":92},{"file":"SKILL.md","line_end":117,"line_start":97},{"file":"SKILL.md","line_end":127,"line_start":117},{"file":"SKILL.md","line_end":173,"line_start":127},{"file":"SKILL.md","line_end":179,"line_start":173},{"file":"SKILL.md","line_end":210,"line_start":179},{"file":"SKILL.md","line_end":217,"line_start":210},{"file":"SKILL.md","line_end":259,"line_start":217},{"file":"SKILL.md","line_end":264,"line_start":259},{"file":"SKILL.md","line_end":315,"line_start":264},{"file":"SKILL.md","line_end":321,"line_start":315},{"file":"SKILL.md","line_end":324,"line_start":321},{"file":"SKILL.md","line_end":331,"line_start":324},{"file":"SKILL.md","line_end":364,"line_start":331},{"file":"SKILL.md","line_end":369,"line_start":364},{"file":"SKILL.md","line_end":491,"line_start":369},{"file":"SKILL.md","line_end":498,"line_start":491},{"file":"SKILL.md","line_end":506,"line_start":498},{"file":"SKILL.md","line_end":513,"line_start":506},{"file":"SKILL.md","line_end":517,"line_start":513},{"file":"SKILL.md","line_end":517,"line_start":517}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":531,"audit_model":"codex","audited_at":"2026-07-24T01:31:35.591+00:00","created_at":"2026-07-26T15:25:04.28988+00:00","static_findings":[{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":89,"severity":"medium","line_start":74},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":92,"severity":"medium","line_start":89},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":97,"severity":"medium","line_start":92},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":117,"severity":"medium","line_start":97},{"id":"external_commands:SKILL.md:117:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":127,"severity":"medium","line_start":117},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":173,"severity":"medium","line_start":127},{"id":"external_commands:SKILL.md:173:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```javascript","category":"external_commands","line_end":179,"severity":"medium","line_start":173},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":210,"severity":"medium","line_start":179},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":217,"severity":"medium","line_start":210},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":259,"severity":"medium","line_start":217},{"id":"external_commands:SKILL.md:259:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":264,"severity":"medium","line_start":259},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":315,"severity":"medium","line_start":264},{"id":"external_commands:SKILL.md:315:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":321,"severity":"medium","line_start":315},{"id":"external_commands:SKILL.md:321:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":324,"severity":"medium","line_start":321},{"id":"external_commands:SKILL.md:324:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```css","category":"external_commands","line_end":331,"severity":"medium","line_start":324},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":364,"severity":"medium","line_start":331},{"id":"external_commands:SKILL.md:364:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":369,"severity":"medium","line_start":364},{"id":"external_commands:SKILL.md:369:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":491,"severity":"medium","line_start":369},{"id":"external_commands:SKILL.md:491:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":498,"severity":"medium","line_start":491},{"id":"external_commands:SKILL.md:498:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":506,"severity":"medium","line_start":498},{"id":"external_commands:SKILL.md:506:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":513,"severity":"medium","line_start":506},{"id":"external_commands:SKILL.md:513:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":517,"severity":"medium","line_start":513},{"id":"external_commands:SKILL.md:517:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Works well with: `scroll-experience`, `3d-web-experience`, `landing-page-design`, `personal-branding","category":"external_commands","line_end":517,"severity":"medium","line_start":517},{"id":"blocker:SKILL.md:85:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"Option 3: Hybrid","category":"blocker","line_end":86,"severity":"low","line_start":85},{"id":"blocker:SKILL.md:112:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"| One-liner | What you did |","category":"blocker","line_end":112,"severity":"low","line_start":112},{"id":"blocker:SKILL.md:165:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"| Include | Avoid |","category":"blocker","line_end":165,"severity":"low","line_start":165},{"id":"blocker:SKILL.md:238:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- Afraid to launch","category":"blocker","line_end":238,"severity":"low","line_start":238},{"id":"blocker:SKILL.md:274:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- 3-4 solid projects showcased","category":"blocker","line_end":274,"severity":"low","line_start":274},{"id":"blocker:SKILL.md:317:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"[ ] Android Chrome","category":"blocker","line_end":317,"severity":"low","line_start":317},{"id":"blocker:SKILL.md:378:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"### What to Avoid","category":"blocker","line_end":379,"severity":"low","line_start":378},{"id":"blocker:SKILL.md:392:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- I did this in college","category":"blocker","line_end":392,"severity":"low","line_start":392}],"finding_verdicts":[{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","reason":"Line 74 opens a Markdown fence around a prose list of navigation patterns; it contains no shell command or executable backtick expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","reason":"Line 89 closes the Markdown block describing navigation options and does not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","reason":"Line 92 opens a plain Markdown example containing portfolio hero placeholders, not shell syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","reason":"Line 97 is the closing Markdown fence for the hero formula example and has no execution behavior.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:117:ruby-shell-backtick-execution","reason":"Line 117 opens a fenced prose outline for a case study; the numbered content is not a command sequence.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","reason":"Line 127 closes the case study outline fence and does not invoke any process.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:173:ruby-shell-backtick-execution","reason":"Line 173 starts a JavaScript-labeled documentation block whose contents are comments and design bullets, with no executable JavaScript or shell call.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","reason":"Line 179 closes the documentation block about technical showcase topics and performs no command execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","reason":"Line 210 opens a Markdown list of creative portfolio ideas, not a shell or Ruby expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","reason":"Line 217 closes the creative ideas fence and has no runtime effect.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:259:ruby-shell-backtick-execution","reason":"Line 259 opens a fenced four-week planning schedule written as prose, with no external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","reason":"Line 264 closes the portfolio schedule block and does not execute anything.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:315:ruby-shell-backtick-execution","reason":"Line 315 opens a Markdown testing checklist; its bracket markers are documentation, not command syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:321:ruby-shell-backtick-execution","reason":"Line 321 closes the browser testing checklist and invokes no external process.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:324:ruby-shell-backtick-execution","reason":"Line 324 opens a CSS example for hover-capability media queries; CSS cannot perform the flagged shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","reason":"Line 331 closes the CSS example and contains no command invocation.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:364:ruby-shell-backtick-execution","reason":"Line 364 opens a prose example listing call-to-action placements, not executable shell content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:369:ruby-shell-backtick-execution","reason":"Line 369 closes the call-to-action placement example and has no execution behavior.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:491:ruby-shell-backtick-execution","reason":"Line 491 opens a fenced developer portfolio workflow expressed as numbered prose, not commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:498:ruby-shell-backtick-execution","reason":"Line 498 closes the developer workflow fence and does not launch a process.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:506:ruby-shell-backtick-execution","reason":"Line 506 opens a fenced creative portfolio workflow containing only numbered planning steps.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:513:ruby-shell-backtick-execution","reason":"Line 513 closes the creative workflow fence and performs no command execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:517:ruby-shell-backtick-execution","reason":"Line 517 uses inline Markdown backticks to format related skill names; there is no shell or Ruby execution context.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:85:system-reconnaissance","reason":"Lines 85-86 describe a hybrid portfolio navigation option and contain no system discovery request.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:112:system-reconnaissance","reason":"Line 112 is a project-card table row explaining a one-line description, unrelated to host reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:165:system-reconnaissance","reason":"Line 165 contains portfolio project-selection column headings and does not ask for system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:238:system-reconnaissance","reason":"Line 238 lists fear of launching as a portfolio-planning symptom, with no reconnaissance meaning or action.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:274:system-reconnaissance","reason":"Line 274 recommends showcasing three or four projects and contains no system inspection instruction.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:317:system-reconnaissance","reason":"Line 317 names Android Chrome in a portfolio browser-testing checklist, not as a host discovery command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:378:system-reconnaissance","reason":"Lines 378-379 introduce contact-design practices to avoid and contain no system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:392:system-reconnaissance","reason":"Line 392 is an example of outdated portfolio wording and does not request device, network, or host information.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"88a8e9a07f4c54ab105c1c41b6267c287146b07b","subject_content_hash":"1ef8b884550972c9fbd46869bfa14cfa685fb41156e17fb0605d714538423cc2","subject_tree_hash":"ce0ef742763a44f52a1a1e3e1607369939241683a370e869be022e0d2f90454e","subject_plugin_path":"skills/sickn33/interactive-portfolio","audit_payload_hash":"bac82353b555e984156fd4e66733728a","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"88a8e9a07f4c54ab105c1c41b6267c287146b07b","contentHash":"1ef8b884550972c9fbd46869bfa14cfa685fb41156e17fb0605d714538423cc2","treeHash":"ce0ef742763a44f52a1a1e3e1607369939241683a370e869be022e0d2f90454e","pluginPath":"skills/sickn33/interactive-portfolio","auditPayloadHash":"bac82353b555e984156fd4e66733728a"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/sickn33-interactive-portfolio/audits/5/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}