{"data":{"skill":{"slug":"sickn33-one-drive-automation","name":"one-drive-automation","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/one-drive-automation","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"aa09f3d6-021f-48b2-a257-5673d0ae11e9","skill_id":"e65f81b1-aa57-4524-9a9a-756b302254c2","version":6,"content_hash":"v3:81e05e636292629114b76cbb3922fbe57672fc02:b0beb89f28aa11bed8162a3507f047b0b7f34422d5ec94fc264c9edb8a8528ad:f11753115b16773e7d504935cba401ca665d996eb27303e3b3b54a73e07acaa1:736b696c6c732f7369636b6e33332f6f6e652d64726976652d6175746f6d6174696f6e:e07fb5c3e0f0c0f84dc0d36b48058d97","risk_level":"high","is_blocked":false,"safe_to_publish":false,"analysis_status":"ok","agent_auto_install_policy":"confirmation_required","manual_install_policy":"allowed","summary":"All 123 shell-execution alerts are false positives caused by Markdown backticks, and both reconnaissance alerts misread parameter documentation. The external MCP endpoint is a real low-severity network dependency. OAuth delegation and consequential OneDrive mutations require disclosure, least privilege, and consistent confirmation.","remediation":[{"issue":"The setup delegates OneDrive access and operations to a third-party MCP service.","severity":"medium","suggestion":"Document requested OAuth scopes, vendor data handling, endpoint verification, least-privilege setup, and token revocation before users connect accounts."},{"issue":"Move, copy, delete, sharing-link, and metadata actions lack a consistent confirmation rule.","severity":"high","suggestion":"Require a preview and explicit confirmation for every consequential mutation. Recheck item identity, recipients, roles, conflicts, and destination immediately before execution."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":16,"line_start":16},{"file":"SKILL.md","line_end":17,"line_start":17},{"file":"SKILL.md","line_end":21,"line_start":21},{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":35,"line_start":35},{"file":"SKILL.md","line_end":36,"line_start":36},{"file":"SKILL.md","line_end":37,"line_start":37},{"file":"SKILL.md","line_end":38,"line_start":38},{"file":"SKILL.md","line_end":39,"line_start":39},{"file":"SKILL.md","line_end":40,"line_start":40},{"file":"SKILL.md","line_end":41,"line_start":41},{"file":"SKILL.md","line_end":44,"line_start":44},{"file":"SKILL.md","line_end":45,"line_start":45},{"file":"SKILL.md","line_end":46,"line_start":46},{"file":"SKILL.md","line_end":47,"line_start":47},{"file":"SKILL.md","line_end":48,"line_start":48},{"file":"SKILL.md","line_end":49,"line_start":49},{"file":"SKILL.md","line_end":50,"line_start":50},{"file":"SKILL.md","line_end":51,"line_start":51},{"file":"SKILL.md","line_end":52,"line_start":52},{"file":"SKILL.md","line_end":55,"line_start":55},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":57,"line_start":57},{"file":"SKILL.md","line_end":58,"line_start":58},{"file":"SKILL.md","line_end":66,"line_start":66},{"file":"SKILL.md","line_end":67,"line_start":67},{"file":"SKILL.md","line_end":68,"line_start":68},{"file":"SKILL.md","line_end":69,"line_start":69},{"file":"SKILL.md","line_end":72,"line_start":72},{"file":"SKILL.md","line_end":73,"line_start":73},{"file":"SKILL.md","line_end":74,"line_start":74},{"file":"SKILL.md","line_end":75,"line_start":75},{"file":"SKILL.md","line_end":76,"line_start":76},{"file":"SKILL.md","line_end":77,"line_start":77},{"file":"SKILL.md","line_end":82,"line_start":82},{"file":"SKILL.md","line_end":83,"line_start":83},{"file":"SKILL.md","line_end":91,"line_start":91},{"file":"SKILL.md","line_end":92,"line_start":92},{"file":"SKILL.md","line_end":93,"line_start":93},{"file":"SKILL.md","line_end":94,"line_start":94},{"file":"SKILL.md","line_end":95,"line_start":95},{"file":"SKILL.md","line_end":98,"line_start":98},{"file":"SKILL.md","line_end":99,"line_start":99},{"file":"SKILL.md","line_end":100,"line_start":100},{"file":"SKILL.md","line_end":101,"line_start":101},{"file":"SKILL.md","line_end":102,"line_start":102},{"file":"SKILL.md","line_end":103,"line_start":103},{"file":"SKILL.md","line_end":104,"line_start":104},{"file":"SKILL.md","line_end":105,"line_start":105}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":21,"line_start":21}]}],"critical_findings":[],"high_findings":[{"title":"Consequential Mutations Need Consistent Confirmation","locations":[{"file":"SKILL.md","line_end":109,"line_start":91},{"file":"SKILL.md","line_end":140,"line_start":119}],"confidence":0.96,"description":"The workflow can grant permissions, create links, move files, and delete items. Only higher-role grants explicitly require confirmation, leaving other mutations without equivalent safeguards.","review_kind":"security","source_category":"semantic","source_severity":"high","confidence_reasoning":"The cited workflows directly support sharing, permission grants, moves, copies, and deletion, while the explicit confirmation rule only covers higher access roles."}],"medium_findings":[{"title":"Third-Party OAuth and Data Access","locations":[{"file":"SKILL.md","line_end":25,"line_start":21}],"confidence":0.97,"description":"The setup delegates OneDrive access through Rube MCP and a Microsoft OAuth flow. Users need clear disclosure of scopes, data handling, and revocation steps.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The setup explicitly configures an external MCP endpoint and instructs users to complete Microsoft OAuth for OneDrive access."}],"low_findings":[{"title":"Hardcoded URL","locations":[{"file":"SKILL.md","line_end":21,"line_start":21}],"confidence":0.98,"description":"**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API k","review_kind":"capability","source_category":"network","source_severity":"low","confidence_reasoning":"The skill explicitly directs users to connect to the external Rube MCP endpoint. This intended network dependency can receive authenticated OneDrive operations."}],"dangerous_patterns":[],"files_scanned":1,"total_lines":247,"audit_model":"codex","audited_at":"2026-08-04T16:50:21.676+00:00","created_at":"2026-08-05T01:54:26.896579+00:00","static_findings":[{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Active OneDrive connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `one_drive`","category":"external_commands","line_end":16,"severity":"medium","line_start":16},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas","category":"external_commands","line_end":17,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API k","category":"external_commands","line_end":21,"severity":"medium","line_start":21},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds","category":"external_commands","line_end":23,"severity":"medium","line_start":23},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `one_drive`","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. `ONE_DRIVE_GET_DRIVE` - Verify drive access and get drive details [Prerequisite]","category":"external_commands","line_end":35,"severity":"medium","line_start":35},{"id":"external_commands:SKILL.md:36:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `ONE_DRIVE_SEARCH_ITEMS` - Keyword search across filenames, metadata, and content [Required]","category":"external_commands","line_end":36,"severity":"medium","line_start":36},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` - List all items in the root of a drive [Optional]","category":"external_commands","line_end":37,"severity":"medium","line_start":37},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `ONE_DRIVE_GET_ITEM` - Get detailed metadata for a specific item, expand children [Optional]","category":"external_commands","line_end":38,"severity":"medium","line_start":38},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"5. `ONE_DRIVE_ONEDRIVE_FIND_FILE` - Find a specific file by exact name in a folder [Optional]","category":"external_commands","line_end":39,"severity":"medium","line_start":39},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Find a specific folder by name [Optional]","category":"external_commands","line_end":40,"severity":"medium","line_start":40},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"7. `ONE_DRIVE_LIST_DRIVES` - List all accessible drives [Optional]","category":"external_commands","line_end":41,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `q`: Search query (plain keywords only, NOT KQL syntax)","category":"external_commands","line_end":44,"severity":"medium","line_start":44},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `search_scope`: `\"root\"` (folder hierarchy) or `\"drive\"` (includes shared items)","category":"external_commands","line_end":45,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `top`: Max items per page (default 200)","category":"external_commands","line_end":46,"severity":"medium","line_start":46},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `skip_token`: Pagination token from `@odata.nextLink`","category":"external_commands","line_end":47,"severity":"medium","line_start":47},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `select`: Comma-separated fields to return (e.g., `\"id,name,webUrl,size\"`)","category":"external_commands","line_end":48,"severity":"medium","line_start":48},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `orderby`: Sort order (e.g., `\"name asc\"`, `\"name desc\"`)","category":"external_commands","line_end":49,"severity":"medium","line_start":49},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `item_id`: Item ID for `GET_ITEM`","category":"external_commands","line_end":50,"severity":"medium","line_start":50},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `expand_relations`: Array like `[\"children\"]` or `[\"thumbnails\"]` for `GET_ITEM`","category":"external_commands","line_end":51,"severity":"medium","line_start":51},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `user_id`: `\"me\"` (default) or specific user ID/email","category":"external_commands","line_end":52,"severity":"medium","line_start":52},{"id":"external_commands:SKILL.md:55:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_SEARCH_ITEMS` does NOT support KQL operators (`folder:`, `file:`, `filetype:`, `path:`)","category":"external_commands","line_end":55,"severity":"medium","line_start":55},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Wildcard characters (`*`, `?`) are NOT supported and are auto-removed; use file extension keywords","category":"external_commands","line_end":56,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` returns only root-level contents; use recursive `ONE_DRIVE_GET_ITE","category":"external_commands","line_end":57,"severity":"medium","line_start":57},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Large folders paginate; always follow `skip_token` / `@odata.nextLink` until exhausted","category":"external_commands","line_end":58,"severity":"medium","line_start":58},{"id":"external_commands:SKILL.md:66:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate the target folder [Prerequisite]","category":"external_commands","line_end":66,"severity":"medium","line_start":66},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `ONE_DRIVE_ONEDRIVE_UPLOAD_FILE` - Upload a file to a specified folder [Required for upload]","category":"external_commands","line_end":67,"severity":"medium","line_start":67},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `ONE_DRIVE_DOWNLOAD_FILE` - Download a file by item ID [Required for download]","category":"external_commands","line_end":68,"severity":"medium","line_start":68},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `ONE_DRIVE_GET_ITEM` - Get file details before download [Optional]","category":"external_commands","line_end":69,"severity":"medium","line_start":69},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads","category":"external_commands","line_end":72,"severity":"medium","line_start":72},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `folder`: Destination path (e.g., `\"/Documents/Reports\"`) or folder ID for uploads","category":"external_commands","line_end":73,"severity":"medium","line_start":73},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `item_id`: File's unique identifier for downloads","category":"external_commands","line_end":74,"severity":"medium","line_start":74},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `file_name`: Desired filename with extension for downloads","category":"external_commands","line_end":75,"severity":"medium","line_start":75},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `drive_id`: Specific drive ID (for SharePoint or OneDrive for Business)","category":"external_commands","line_end":76,"severity":"medium","line_start":76},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `user_id`: `\"me\"` (default) or specific user identifier","category":"external_commands","line_end":77,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `drive_id` overrides `user_id` when both are provided","category":"external_commands","line_end":82,"severity":"medium","line_start":82},{"id":"external_commands:SKILL.md:83:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Item IDs vary by platform: OneDrive for Business uses `01...` prefix, OneDrive Personal uses `HASH","category":"external_commands","line_end":83,"severity":"medium","line_start":83},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. `ONE_DRIVE_ONEDRIVE_FIND_FILE` or `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate the item [Prerequisit","category":"external_commands","line_end":91,"severity":"medium","line_start":91},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `ONE_DRIVE_GET_ITEM_PERMISSIONS` - Check current permissions [Prerequisite]","category":"external_commands","line_end":92,"severity":"medium","line_start":92},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM` - Grant access to specific users [Required]","category":"external_commands","line_end":93,"severity":"medium","line_start":93},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `ONE_DRIVE_CREATE_LINK` - Create a shareable link [Optional]","category":"external_commands","line_end":94,"severity":"medium","line_start":94},{"id":"external_commands:SKILL.md:95:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"5. `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` - Update item metadata [Optional]","category":"external_commands","line_end":95,"severity":"medium","line_start":95},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `item_id`: The file or folder to share","category":"external_commands","line_end":98,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:99:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `recipients`: Array of objects with `email` or `object_id`","category":"external_commands","line_end":99,"severity":"medium","line_start":99},{"id":"external_commands:SKILL.md:100:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `roles`: Array with `\"read\"` or `\"write\"`","category":"external_commands","line_end":100,"severity":"medium","line_start":100},{"id":"external_commands:SKILL.md:101:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `send_invitation`: `true` to send notification email, `false` for silent permission grant","category":"external_commands","line_end":101,"severity":"medium","line_start":101},{"id":"external_commands:SKILL.md:102:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `require_sign_in`: `true` to require authentication to access","category":"external_commands","line_end":102,"severity":"medium","line_start":102},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `message`: Custom message for invitation (max 2000 characters)","category":"external_commands","line_end":103,"severity":"medium","line_start":103},{"id":"external_commands:SKILL.md:104:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `expiration_date_time`: ISO 8601 date for permission expiry","category":"external_commands","line_end":104,"severity":"medium","line_start":104},{"id":"external_commands:SKILL.md:105:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `retain_inherited_permissions`: `true` (default) to keep existing inherited permissions","category":"external_commands","line_end":105,"severity":"medium","line_start":105},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Using wrong `item_id` with `INVITE_USER_TO_DRIVE_ITEM` changes permissions on unintended items; al","category":"external_commands","line_end":108,"severity":"medium","line_start":108},{"id":"external_commands:SKILL.md:110:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `GET_ITEM_PERMISSIONS` returns inherited and owner entries; do not assume response only reflects r","category":"external_commands","line_end":110,"severity":"medium","line_start":110},{"id":"external_commands:SKILL.md:111:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `permissions` cannot be expanded via `ONE_DRIVE_GET_ITEM`; use the separate permissions endpoint","category":"external_commands","line_end":111,"severity":"medium","line_start":111},{"id":"external_commands:SKILL.md:112:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- At least one of `require_sign_in` or `send_invitation` must be `true`","category":"external_commands","line_end":112,"severity":"medium","line_start":112},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate source and destination folders [Prerequisite]","category":"external_commands","line_end":119,"severity":"medium","line_start":119},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` - Create a new folder [Required for create]","category":"external_commands","line_end":120,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `ONE_DRIVE_MOVE_ITEM` - Move a file or folder to a new location [Required for move]","category":"external_commands","line_end":121,"severity":"medium","line_start":121},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `ONE_DRIVE_COPY_ITEM` - Copy a file or folder (async operation) [Required for copy]","category":"external_commands","line_end":122,"severity":"medium","line_start":122},{"id":"external_commands:SKILL.md:123:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"5. `ONE_DRIVE_DELETE_ITEM` - Move item to recycle bin [Required for delete]","category":"external_commands","line_end":123,"severity":"medium","line_start":123},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` - Rename or update item properties [Optional]","category":"external_commands","line_end":124,"severity":"medium","line_start":124},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `name`: Folder name for creation or new name for rename/copy","category":"external_commands","line_end":127,"severity":"medium","line_start":127},{"id":"external_commands:SKILL.md:128:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `parent_folder`: Path (e.g., `\"/Documents/Reports\"`) or folder ID for creation","category":"external_commands","line_end":128,"severity":"medium","line_start":128},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `itemId`: Item to move","category":"external_commands","line_end":129,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:130:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `parentReference`: Object with `id` (destination folder ID) for moves: `{\"id\": \"folder_id\"}`","category":"external_commands","line_end":130,"severity":"medium","line_start":130},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `item_id`: Item to copy or delete","category":"external_commands","line_end":131,"severity":"medium","line_start":131},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `parent_reference`: Object with `id` and optional `driveId` for copy destination","category":"external_commands","line_end":132,"severity":"medium","line_start":132},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `@microsoft.graph.conflictBehavior`: `\"fail\"`, `\"replace\"`, or `\"rename\"` for copies","category":"external_commands","line_end":133,"severity":"medium","line_start":133},{"id":"external_commands:SKILL.md:134:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `if_match`: ETag for optimistic concurrency on deletes","category":"external_commands","line_end":134,"severity":"medium","line_start":134},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_MOVE_ITEM` does NOT support cross-drive moves; use `ONE_DRIVE_COPY_ITEM` for cross-driv","category":"external_commands","line_end":137,"severity":"medium","line_start":137},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `parentReference` for moves requires folder ID (not folder name); resolve with `ONEDRIVE_FIND_FOLD","category":"external_commands","line_end":138,"severity":"medium","line_start":138},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_COPY_ITEM` is asynchronous; response provides a URL to monitor progress","category":"external_commands","line_end":139,"severity":"medium","line_start":139},{"id":"external_commands:SKILL.md:140:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_DELETE_ITEM` moves to recycle bin, not permanent deletion","category":"external_commands","line_end":140,"severity":"medium","line_start":140},{"id":"external_commands:SKILL.md:142:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Provide either `name` or `parent_reference` (or both) for `ONE_DRIVE_COPY_ITEM`","category":"external_commands","line_end":142,"severity":"medium","line_start":142},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. `ONE_DRIVE_GET_DRIVE` - Get drive properties and metadata [Required]","category":"external_commands","line_end":149,"severity":"medium","line_start":149},{"id":"external_commands:SKILL.md:150:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `ONE_DRIVE_GET_QUOTA` - Check storage quota (total, used, remaining) [Optional]","category":"external_commands","line_end":150,"severity":"medium","line_start":150},{"id":"external_commands:SKILL.md:151:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA` - Track changes in SharePoint site drives [Optional]","category":"external_commands","line_end":151,"severity":"medium","line_start":151},{"id":"external_commands:SKILL.md:152:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `ONE_DRIVE_GET_ITEM_VERSIONS` - Get version history of a file [Optional]","category":"external_commands","line_end":152,"severity":"medium","line_start":152},{"id":"external_commands:SKILL.md:155:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `drive_id`: Drive identifier (or `\"me\"` for personal drive)","category":"external_commands","line_end":155,"severity":"medium","line_start":155},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `site_id`: SharePoint site identifier for delta tracking","category":"external_commands","line_end":156,"severity":"medium","line_start":156},{"id":"external_commands:SKILL.md:157:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `token`: Delta token (`\"latest\"` for current state, URL for next page, or timestamp)","category":"external_commands","line_end":157,"severity":"medium","line_start":157},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `item_id`: File ID for version history","category":"external_commands","line_end":158,"severity":"medium","line_start":158},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Delta queries are only available for SharePoint site drives via `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_D","category":"external_commands","line_end":161,"severity":"medium","line_start":161},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Token `\"latest\"` returns current delta token without items (useful as starting point)","category":"external_commands","line_end":162,"severity":"medium","line_start":162},{"id":"external_commands:SKILL.md:168:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **User**: Use `\"me\"` for authenticated user or specific user email/GUID","category":"external_commands","line_end":168,"severity":"medium","line_start":168},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Item ID from find**: Use `ONE_DRIVE_ONEDRIVE_FIND_FILE` or `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` to g","category":"external_commands","line_end":169,"severity":"medium","line_start":169},{"id":"external_commands:SKILL.md:170:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Item ID from search**: Extract from `ONE_DRIVE_SEARCH_ITEMS` results","category":"external_commands","line_end":170,"severity":"medium","line_start":170},{"id":"external_commands:SKILL.md:171:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Drive ID**: Use `ONE_DRIVE_LIST_DRIVES` or `ONE_DRIVE_GET_DRIVE` to discover drives","category":"external_commands","line_end":171,"severity":"medium","line_start":171},{"id":"external_commands:SKILL.md:172:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Folder path to ID**: Use `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` with path, then extract ID from respon","category":"external_commands","line_end":172,"severity":"medium","line_start":172},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- OneDrive for Business/SharePoint: `01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK`","category":"external_commands","line_end":175,"severity":"medium","line_start":175},{"id":"external_commands:SKILL.md:176:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- OneDrive Personal: `D4648F06C91D9D3D!54927`","category":"external_commands","line_end":176,"severity":"medium","line_start":176},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Follow `@odata.nextLink` or `skip_token` until no more pages","category":"external_commands","line_end":180,"severity":"medium","line_start":180},{"id":"external_commands:SKILL.md:181:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Set `top` for page size (varies by endpoint)","category":"external_commands","line_end":181,"severity":"medium","line_start":181},{"id":"external_commands:SKILL.md:182:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` auto-handles pagination internally","category":"external_commands","line_end":182,"severity":"medium","line_start":182},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Aggressive parallel requests can trigger HTTP 429; honor `Retry-After` headers","category":"external_commands","line_end":183,"severity":"medium","line_start":183},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Paths**: Start with `/` (e.g., `\"/Documents/Reports\"`)","category":"external_commands","line_end":187,"severity":"medium","line_start":187},{"id":"external_commands:SKILL.md:189:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Item paths for permissions**: Use `:/path/to/item:/` format","category":"external_commands","line_end":189,"severity":"medium","line_start":189},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Aggressive parallel `ONE_DRIVE_GET_ITEM` calls can trigger HTTP 429 Too Many Requests","category":"external_commands","line_end":199,"severity":"medium","line_start":199},{"id":"external_commands:SKILL.md:200:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Honor `Retry-After` headers and implement throttling","category":"external_commands","line_end":200,"severity":"medium","line_start":200},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- No wildcard characters; use extension keywords (e.g., `\"pdf\"` not `\"*.pdf\"`)","category":"external_commands","line_end":205,"severity":"medium","line_start":205},{"id":"external_commands:SKILL.md:207:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `q='*'` wildcard-only queries return HTTP 400 invalidRequest","category":"external_commands","line_end":207,"severity":"medium","line_start":207},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `drive_id` overrides `user_id` when both are provided","category":"external_commands","line_end":210,"severity":"medium","line_start":210},{"id":"external_commands:SKILL.md:211:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `permissions` cannot be expanded via `GET_ITEM`; use dedicated permissions endpoint","category":"external_commands","line_end":211,"severity":"medium","line_start":211},{"id":"external_commands:SKILL.md:212:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Move operations require folder IDs in `parentReference`, not folder names","category":"external_commands","line_end":212,"severity":"medium","line_start":212},{"id":"external_commands:SKILL.md:219:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Search files | `ONE_DRIVE_SEARCH_ITEMS` | `q`, `search_scope`, `top` |","category":"external_commands","line_end":219,"severity":"medium","line_start":219},{"id":"external_commands:SKILL.md:220:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| List root items | `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` | `user_id`, `select`, `top` |","category":"external_commands","line_end":220,"severity":"medium","line_start":220},{"id":"external_commands:SKILL.md:221:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Get item details | `ONE_DRIVE_GET_ITEM` | `item_id`, `expand_relations` |","category":"external_commands","line_end":221,"severity":"medium","line_start":221},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Find file by name | `ONE_DRIVE_ONEDRIVE_FIND_FILE` | `name`, `folder` |","category":"external_commands","line_end":222,"severity":"medium","line_start":222},{"id":"external_commands:SKILL.md:223:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Find folder by name | `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` | `name`, `folder` |","category":"external_commands","line_end":223,"severity":"medium","line_start":223},{"id":"external_commands:SKILL.md:224:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Upload file | `ONE_DRIVE_ONEDRIVE_UPLOAD_FILE` | `file`, `folder` |","category":"external_commands","line_end":224,"severity":"medium","line_start":224},{"id":"external_commands:SKILL.md:225:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Download file | `ONE_DRIVE_DOWNLOAD_FILE` | `item_id`, `file_name` |","category":"external_commands","line_end":225,"severity":"medium","line_start":225},{"id":"external_commands:SKILL.md:226:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Create folder | `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` | `name`, `parent_folder` |","category":"external_commands","line_end":226,"severity":"medium","line_start":226},{"id":"external_commands:SKILL.md:227:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Move item | `ONE_DRIVE_MOVE_ITEM` | `itemId`, `parentReference` |","category":"external_commands","line_end":227,"severity":"medium","line_start":227},{"id":"external_commands:SKILL.md:228:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Copy item | `ONE_DRIVE_COPY_ITEM` | `item_id`, `parent_reference`, `name` |","category":"external_commands","line_end":228,"severity":"medium","line_start":228},{"id":"external_commands:SKILL.md:229:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Delete item | `ONE_DRIVE_DELETE_ITEM` | `item_id` |","category":"external_commands","line_end":229,"severity":"medium","line_start":229},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Share with users | `ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM` | `item_id`, `recipients`, `roles` |","category":"external_commands","line_end":230,"severity":"medium","line_start":230},{"id":"external_commands:SKILL.md:231:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Create share link | `ONE_DRIVE_CREATE_LINK` | `item_id`, link type |","category":"external_commands","line_end":231,"severity":"medium","line_start":231},{"id":"external_commands:SKILL.md:232:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Get permissions | `ONE_DRIVE_GET_ITEM_PERMISSIONS` | `item_id` |","category":"external_commands","line_end":232,"severity":"medium","line_start":232},{"id":"external_commands:SKILL.md:233:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Update metadata | `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` | `item_id`, fields |","category":"external_commands","line_end":233,"severity":"medium","line_start":233},{"id":"external_commands:SKILL.md:234:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Get drive info | `ONE_DRIVE_GET_DRIVE` | `drive_id` |","category":"external_commands","line_end":234,"severity":"medium","line_start":234},{"id":"external_commands:SKILL.md:235:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| List drives | `ONE_DRIVE_LIST_DRIVES` | user/group/site scope |","category":"external_commands","line_end":235,"severity":"medium","line_start":235},{"id":"external_commands:SKILL.md:236:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Get quota | `ONE_DRIVE_GET_QUOTA` | (none) |","category":"external_commands","line_end":236,"severity":"medium","line_start":236},{"id":"external_commands:SKILL.md:237:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Track changes | `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA` | `site_id`, `token` |","category":"external_commands","line_end":237,"severity":"medium","line_start":237},{"id":"external_commands:SKILL.md:238:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Version history | `ONE_DRIVE_GET_ITEM_VERSIONS` | `item_id` |","category":"external_commands","line_end":238,"severity":"medium","line_start":238},{"id":"network:SKILL.md:21:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API k","category":"network","line_end":21,"severity":"low","line_start":21},{"id":"blocker:SKILL.md:102:network-reconnaissance","file":"SKILL.md","pattern":"Network reconnaissance","snippet":"- `require_sign_in`: `true` to require authentication to access","category":"blocker","line_end":103,"severity":"low","line_start":102},{"id":"blocker:SKILL.md:139:network-reconnaissance","file":"SKILL.md","pattern":"Network reconnaissance","snippet":"- `ONE_DRIVE_COPY_ITEM` is asynchronous; response provides a URL to monitor progress","category":"blocker","line_end":140,"severity":"low","line_start":139}],"finding_verdicts":[{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:36:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:55:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:66:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:83:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:95:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:99:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:100:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:101:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:102:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:104:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:105:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:110:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:111:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:112:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:123:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:128:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:130:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:134:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:140:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:142:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:150:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:151:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:152:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:155:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:157:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:168:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:170:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:171:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:172:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:176:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:181:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:182:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:183:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:189:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:200:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:207:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:211:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:212:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:219:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:220:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:221:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:223:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:224:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:225:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:226:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:227:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:228:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:229:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:231:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:232:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:233:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:234:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:235:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:236:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:237:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:238:ruby-shell-backtick-execution","reason":"The backticks are Markdown inline-code delimiters around tool names, parameters, or examples. SKILL.md contains no Ruby or shell execution syntax at this location.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:21:hardcoded-url","reason":"The skill explicitly directs users to connect to the external Rube MCP endpoint. This intended network dependency can receive authenticated OneDrive operations.","verdict":"confirmed","severity":"low","confidence":0.98},{"id":"blocker:SKILL.md:102:network-reconnaissance","reason":"The text documents the require_sign_in sharing parameter. It does not discover hosts, ports, services, or network topology.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:139:network-reconnaissance","reason":"The text explains that a OneDrive copy returns a progress-monitoring URL. It does not perform network discovery or reconnaissance.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Third-Party OAuth and Data Access","severity":"medium","locations":[{"file":"SKILL.md","line_end":25,"line_start":21}],"confidence":0.97,"description":"The setup delegates OneDrive access through Rube MCP and a Microsoft OAuth flow. Users need clear disclosure of scopes, data handling, and revocation steps.","confidence_reasoning":"The setup explicitly configures an external MCP endpoint and instructs users to complete Microsoft OAuth for OneDrive access."},{"title":"Consequential Mutations Need Consistent Confirmation","severity":"high","locations":[{"file":"SKILL.md","line_end":109,"line_start":91},{"file":"SKILL.md","line_end":140,"line_start":119}],"confidence":0.96,"description":"The workflow can grant permissions, create links, move files, and delete items. Only higher-role grants explicitly require confirmation, leaving other mutations without equivalent safeguards.","confidence_reasoning":"The cited workflows directly support sharing, permission grants, moves, copies, and deletion, while the explicit confirmation rule only covers higher access roles."}],"subject_marketplace_commit_sha":"81e05e636292629114b76cbb3922fbe57672fc02","subject_content_hash":"b0beb89f28aa11bed8162a3507f047b0b7f34422d5ec94fc264c9edb8a8528ad","subject_tree_hash":"f11753115b16773e7d504935cba401ca665d996eb27303e3b3b54a73e07acaa1","subject_plugin_path":"skills/sickn33/one-drive-automation","audit_payload_hash":"e07fb5c3e0f0c0f84dc0d36b48058d97","confirmed_risk_level":"high","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"81e05e636292629114b76cbb3922fbe57672fc02","contentHash":"b0beb89f28aa11bed8162a3507f047b0b7f34422d5ec94fc264c9edb8a8528ad","treeHash":"f11753115b16773e7d504935cba401ca665d996eb27303e3b3b54a73e07acaa1","pluginPath":"skills/sickn33/one-drive-automation","auditPayloadHash":"e07fb5c3e0f0c0f84dc0d36b48058d97"},"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-one-drive-automation/audits/6/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"high","confirmedFindingCount":2,"capabilityReviewCount":1,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"confirmation_required","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}