[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M76YASHTQX3C327RES5WM3RG":3,"skill-same:01M76YASHTQX3C327RES5WM3RG":56},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":39,"ownerDescription":40,"updatedAt":41,"install":42,"resources":55},"01M76YASHTQX3C327RES5WM3RG","didit-face-match",null,"Integrate Didit Face Match standalone API to compare two facial images. Use when the user wants to compare faces, verify face identity, implement biometric comparison, facial recognition, or selfie-to-document matching using Didit. Returns a similarity score (0-100) with configurable decline threshold. Supports image rotation and multi-face detection.","javimosch\u002Fopen-claw-skills","javimosch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12900508?v=4","01M6D3F2AS6PV75ET9PZ1QGP8J","Javier Leandro Arancibia","01M75B8NCTAJG9WH5YNZH7C3D8",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Frosasalberto\u002Fdidit-face-match\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: didit-face-match\ndescription: >\n  Integrate Didit Face Match standalone API to compare two facial images.\n  Use when the user wants to compare faces, verify face identity, implement biometric\n  comparison, facial recognition, or selfie-to-document matching using Didit.\n  Returns a similarity score (0-100) with configurable decline threshold.\n  Supports image rotation and multi-face detection.\nversion: 1.2.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - DIDIT_API_KEY\n    primaryEnv: DIDIT_API_KEY\n    emoji: \"👥\"\n    homepage: https:\u002F\u002Fdocs.didit.me\n---\n\n# Didit Face Match API\n\n## Overview\n\nCompares two facial images to determine if they belong to the same person. Returns a similarity score (0-100).\n\n**Key constraints:**\n- Supported formats: **JPEG, PNG, WebP, TIFF**\n- Maximum file size: **5MB** per image\n- If multiple faces in an image, the **largest face** is used for comparison\n- Both `user_image` and `ref_image` are **required**\n\n**Capabilities:** Similarity scoring, age estimation, gender detection, face bounding boxes, configurable decline threshold, optional image rotation for non-upright faces.\n\n**API Reference:** https:\u002F\u002Fdocs.didit.me\u002Fstandalone-apis\u002Fface-match\n**Feature Guide:** https:\u002F\u002Fdocs.didit.me\u002Fcore-technology\u002Fface-match\u002Foverview\n\n---\n\n## Authentication\n\nAll requests require `x-api-key` header. Get your key from [Didit Business Console](https:\u002F\u002Fbusiness.didit.me) → API & Webhooks, or via programmatic registration (see below).\n\n## Getting Started (No Account Yet?)\n\nIf you don't have a Didit API key, create one in 2 API calls:\n\n1. **Register:** `POST https:\u002F\u002Fapx.didit.me\u002Fauth\u002Fv2\u002Fprogrammatic\u002Fregister\u002F` with `{\"email\": \"you@gmail.com\", \"password\": \"MyStr0ng!Pass\"}`\n2. **Check email** for a 6-character OTP code\n3. **Verify:** `POST https:\u002F\u002Fapx.didit.me\u002Fauth\u002Fv2\u002Fprogrammatic\u002Fverify-email\u002F` with `{\"email\": \"you@gmail.com\", \"code\": \"A3K9F2\"}` → response includes `api_key`\n\n**To add credits:** `GET \u002Fv3\u002Fbilling\u002Fbalance\u002F` to check, `POST \u002Fv3\u002Fbilling\u002Ftop-up\u002F` with `{\"amount_in_dollars\": 50}` for a Stripe checkout link.\n\nSee the **didit-verification-management** skill for full platform management (workflows, sessions, users, billing).\n\n---\n\n## Endpoint\n\n```\nPOST https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\n```\n\n### Headers\n\n| Header | Value | Required |\n|---|---|---|\n| `x-api-key` | Your API key | **Yes** |\n| `Content-Type` | `multipart\u002Fform-data` | **Yes** |\n\n### Request Parameters (multipart\u002Fform-data)\n\n| Parameter | Type | Required | Default | Constraints | Description |\n|---|---|---|---|---|---|\n| `user_image` | file | **Yes** | — | JPEG\u002FPNG\u002FWebP\u002FTIFF, max 5MB | User's face image to verify |\n| `ref_image` | file | **Yes** | — | Same as above | Reference image to compare against |\n| `face_match_score_decline_threshold` | integer | No | `30` | 0-100 | Scores below this = Declined |\n| `rotate_image` | boolean | No | `false` | — | Try 0\u002F90\u002F180\u002F270 degree rotations to find upright face |\n| `save_api_request` | boolean | No | `true` | — | Save in Business Console Manual Checks |\n| `vendor_data` | string | No | — | — | Your identifier for session tracking |\n\n### Example\n\n```python\nimport requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n    files={\n        \"user_image\": (\"selfie.jpg\", open(\"selfie.jpg\", \"rb\"), \"image\u002Fjpeg\"),\n        \"ref_image\": (\"id_photo.jpg\", open(\"id_photo.jpg\", \"rb\"), \"image\u002Fjpeg\"),\n    },\n    data={\"face_match_score_decline_threshold\": \"50\"},\n)\n```\n\n```typescript\nconst formData = new FormData();\nformData.append(\"user_image\", selfieFile);\nformData.append(\"ref_image\", referenceFile);\nformData.append(\"face_match_score_decline_threshold\", \"50\");\n\nconst response = await fetch(\"https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\", {\n  method: \"POST\",\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n  body: formData,\n});\n```\n\n### Response (200 OK)\n\n```json\n{\n  \"request_id\": \"a1b2c3d4-...\",\n  \"face_match\": {\n    \"status\": \"Approved\",\n    \"score\": 80,\n    \"user_image\": {\n      \"entities\": [\n        {\"age\": 27.63, \"bbox\": [40, 40, 100, 100], \"confidence\": 0.717, \"gender\": \"male\"}\n      ],\n      \"best_angle\": 0\n    },\n    \"ref_image\": {\n      \"entities\": [\n        {\"age\": 22.16, \"bbox\": [156, 234, 679, 898], \"confidence\": 0.717, \"gender\": \"male\"}\n      ],\n      \"best_angle\": 0\n    },\n    \"warnings\": []\n  },\n  \"created_at\": \"2025-05-01T13:11:07.977806Z\"\n}\n```\n\n### Status Values & Handling\n\n| Status | Meaning | Action |\n|---|---|---|\n| `\"Approved\"` | Score >= threshold | Faces match — proceed |\n| `\"Declined\"` | Score \u003C threshold or no face | Check `warnings` for details. May need better image |\n| `\"In Review\"` | Needs manual review | Wait for review or retrieve via session API |\n\n### Error Responses\n\n| Code | Meaning | Action |\n|---|---|---|\n| `400` | Invalid request | Check file format, size, parameters |\n| `401` | Invalid API key | Verify `x-api-key` header |\n| `403` | Insufficient credits | Top up at business.didit.me |\n\n---\n\n## Response Field Reference\n\n| Field | Type | Description |\n|---|---|---|\n| `status` | string | `\"Approved\"`, `\"Declined\"`, `\"In Review\"` |\n| `score` | integer | 0-100 similarity score (higher = more similar). `null` if no face found |\n| `entities[].age` | float | Estimated age |\n| `entities[].bbox` | array | Face bounding box `[x1, y1, x2, y2]` |\n| `entities[].confidence` | float | Face detection confidence (0-1) |\n| `entities[].gender` | string | `\"male\"` or `\"female\"` |\n| `best_angle` | integer | Best rotation angle for the face |\n| `warnings` | array | `{risk, log_type, short_description, long_description}` |\n\n---\n\n## Warning Tags\n\n| Tag | Description | Auto-Decline |\n|---|---|---|\n| `NO_REFERENCE_IMAGE` | Reference or face image missing | Yes |\n| `NO_FACE_DETECTED` | No face detected in one or both images | Yes |\n| `LOW_FACE_MATCH_SIMILARITY` | Score below threshold — potential identity mismatch | Configurable |\n\n> **Security best practice:** Only store the status and score. Minimize biometric image data on your servers. Image URLs (in workflow mode) expire after 60 minutes.\n\n---\n\n## Score Interpretation\n\n| Score Range | Interpretation | Action |\n|---|---|---|\n| 90-100 | Very high confidence — same person | Auto-approve |\n| 70-89 | High confidence — likely same person | Approve (default threshold 30) |\n| 50-69 | Moderate — possible match | Consider manual review |\n| 30-49 | Low — likely different people | Declined at default threshold |\n| 0-29 | Very low — different people | Declined |\n\n---\n\n## Utility Scripts\n\n```bash\nexport DIDIT_API_KEY=\"your_api_key\"\n\npython scripts\u002Fmatch_faces.py selfie.jpg id_photo.jpg\npython scripts\u002Fmatch_faces.py selfie.jpg id_photo.jpg --threshold 50 --rotate\n```\n","# Didit Face Match API\n\n## Overview\n\nCompares two facial images to determine if they belong to the same person. Returns a similarity score (0-100).\n\n**Key constraints:**\n- Supported formats: **JPEG, PNG, WebP, TIFF**\n- Maximum file size: **5MB** per image\n- If multiple faces in an image, the **largest face** is used for comparison\n- Both `user_image` and `ref_image` are **required**\n\n**Capabilities:** Similarity scoring, age estimation, gender detection, face bounding boxes, configurable decline threshold, optional image rotation for non-upright faces.\n\n**API Reference:** https:\u002F\u002Fdocs.didit.me\u002Fstandalone-apis\u002Fface-match\n**Feature Guide:** https:\u002F\u002Fdocs.didit.me\u002Fcore-technology\u002Fface-match\u002Foverview\n\n---\n\n## Authentication\n\nAll requests require `x-api-key` header. Get your key from [Didit Business Console](https:\u002F\u002Fbusiness.didit.me) → API & Webhooks, or via programmatic registration (see below).\n\n## Getting Started (No Account Yet?)\n\nIf you don't have a Didit API key, create one in 2 API calls:\n\n1. **Register:** `POST https:\u002F\u002Fapx.didit.me\u002Fauth\u002Fv2\u002Fprogrammatic\u002Fregister\u002F` with `{\"email\": \"you@gmail.com\", \"password\": \"MyStr0ng!Pass\"}`\n2. **Check email** for a 6-character OTP code\n3. **Verify:** `POST https:\u002F\u002Fapx.didit.me\u002Fauth\u002Fv2\u002Fprogrammatic\u002Fverify-email\u002F` with `{\"email\": \"you@gmail.com\", \"code\": \"A3K9F2\"}` → response includes `api_key`\n\n**To add credits:** `GET \u002Fv3\u002Fbilling\u002Fbalance\u002F` to check, `POST \u002Fv3\u002Fbilling\u002Ftop-up\u002F` with `{\"amount_in_dollars\": 50}` for a Stripe checkout link.\n\nSee the **didit-verification-management** skill for full platform management (workflows, sessions, users, billing).\n\n---\n\n## Endpoint\n\n```\nPOST https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\n```\n\n### Headers\n\n| Header | Value | Required |\n|---|---|---|\n| `x-api-key` | Your API key | **Yes** |\n| `Content-Type` | `multipart\u002Fform-data` | **Yes** |\n\n### Request Parameters (multipart\u002Fform-data)\n\n| Parameter | Type | Required | Default | Constraints | Description |\n|---|---|---|---|---|---|\n| `user_image` | file | **Yes** | — | JPEG\u002FPNG\u002FWebP\u002FTIFF, max 5MB | User's face image to verify |\n| `ref_image` | file | **Yes** | — | Same as above | Reference image to compare against |\n| `face_match_score_decline_threshold` | integer | No | `30` | 0-100 | Scores below this = Declined |\n| `rotate_image` | boolean | No | `false` | — | Try 0\u002F90\u002F180\u002F270 degree rotations to find upright face |\n| `save_api_request` | boolean | No | `true` | — | Save in Business Console Manual Checks |\n| `vendor_data` | string | No | — | — | Your identifier for session tracking |\n\n### Example\n\n```python\nimport requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\",\n    headers={\"x-api-key\": \"YOUR_API_KEY\"},\n    files={\n        \"user_image\": (\"selfie.jpg\", open(\"selfie.jpg\", \"rb\"), \"image\u002Fjpeg\"),\n        \"ref_image\": (\"id_photo.jpg\", open(\"id_photo.jpg\", \"rb\"), \"image\u002Fjpeg\"),\n    },\n    data={\"face_match_score_decline_threshold\": \"50\"},\n)\n```\n\n```typescript\nconst formData = new FormData();\nformData.append(\"user_image\", selfieFile);\nformData.append(\"ref_image\", referenceFile);\nformData.append(\"face_match_score_decline_threshold\", \"50\");\n\nconst response = await fetch(\"https:\u002F\u002Fverification.didit.me\u002Fv3\u002Fface-match\u002F\", {\n  method: \"POST\",\n  headers: { \"x-api-key\": \"YOUR_API_KEY\" },\n  body: formData,\n});\n```\n\n### Response (200 OK)\n\n```json\n{\n  \"request_id\": \"a1b2c3d4-...\",\n  \"face_match\": {\n    \"status\": \"Approved\",\n    \"score\": 80,\n    \"user_image\": {\n      \"entities\": [\n        {\"age\": 27.63, \"bbox\": [40, 40, 100, 100], \"confidence\": 0.717, \"gender\": \"male\"}\n      ],\n      \"best_angle\": 0\n    },\n    \"ref_image\": {\n      \"entities\": [\n        {\"age\": 22.16, \"bbox\": [156, 234, 679, 898], \"confidence\": 0.717, \"gender\": \"male\"}\n      ],\n      \"best_angle\": 0\n    },\n    \"warnings\": []\n  },\n  \"created_at\": \"2025-05-01T13:11:07.977806Z\"\n}\n```\n\n### Status Values & Handling\n\n| Status | Meaning | Action |\n|---|---|---|\n| `\"Approved\"` | Score >= threshold | Faces match — proceed |\n| `\"Declined\"` | Score \u003C threshold or no face | Check `warnings` for details. May need better image |\n| `\"In Review\"` | Needs manual review | Wait for review or retrieve via session API |\n\n### Error Responses\n\n| Code | Meaning | Action |\n|---|---|---|\n| `400` | Invalid request | Check file format, size, parameters |\n| `401` | Invalid API key | Verify `x-api-key` header |\n| `403` | Insufficient credits | Top up at business.didit.me |\n\n---\n\n## Response Field Reference\n\n| Field | Type | Description |\n|---|---|---|\n| `status` | string | `\"Approved\"`, `\"Declined\"`, `\"In Review\"` |\n| `score` | integer | 0-100 similarity score (higher = more similar). `null` if no face found |\n| `entities[].age` | float | Estimated age |\n| `entities[].bbox` | array | Face bounding box `[x1, y1, x2, y2]` |\n| `entities[].confidence` | float | Face detection confidence (0-1) |\n| `entities[].gender` | string | `\"male\"` or `\"female\"` |\n| `best_angle` | integer | Best rotation angle for the face |\n| `warnings` | array | `{risk, log_type, short_description, long_description}` |\n\n---\n\n## Warning Tags\n\n| Tag | Description | Auto-Decline |\n|---|---|---|\n| `NO_REFERENCE_IMAGE` | Reference or face image missing | Yes |\n| `NO_FACE_DETECTED` | No face detected in one or both images | Yes |\n| `LOW_FACE_MATCH_SIMILARITY` | Score below threshold — potential identity mismatch | Configurable |\n\n> **Security best practice:** Only store the status and score. Minimize biometric image data on your servers. Image URLs (in workflow mode) expire after 60 minutes.\n\n---\n\n## Score Interpretation\n\n| Score Range | Interpretation | Action |\n|---|---|---|\n| 90-100 | Very high confidence — same person | Auto-approve |\n| 70-89 | High confidence — likely same person | Approve (default threshold 30) |\n| 50-69 | Moderate — possible match | Consider manual review |\n| 30-49 | Low — likely different people | Declined at default threshold |\n| 0-29 | Very low — different people | Declined |\n\n---\n\n## Utility Scripts\n\n```bash\nexport DIDIT_API_KEY=\"your_api_key\"\n\npython scripts\u002Fmatch_faces.py selfie.jpg id_photo.jpg\npython scripts\u002Fmatch_faces.py selfie.jpg id_photo.jpg --threshold 50 --rotate\n```\n",{"name":5,"version":24,"metadata":25,"description":32},"1.2.0",{"openclaw":26},{"emoji":27,"homepage":28,"requires":29,"primaryEnv":31},"👥","https:\u002F\u002Fdocs.didit.me",{"env":30},[31],"DIDIT_API_KEY","Integrate Didit Face Match standalone API to compare two facial images. Use when the user wants to compare faces, verify face identity, implement biometric comparison, facial recognition, or selfie-to-document matching using Didit. Returns a similarity score (0-100) with configurable decline threshold. Supports image rotation and multi-face detection.\n","main","f9d3fe7cf9ac8f1ea63a0d96e98e1f510a3814db","skills\u002Frosasalberto\u002Fdidit-face-match",1,"https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills","https:\u002F\u002Fgithub.com\u002Fjavimosch","intrane.fr","Building robust, open-source infrastructure for the commons. AI-leveraged, self-hosted, built to last.","2026-06-07 03:34:58",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add javimosch\u002Fopen-claw-skills --skill didit-face-match",{"tool":48,"command":49},"bunx","bunx skills add javimosch\u002Fopen-claw-skills --skill didit-face-match",{"tool":51,"command":52},"pnpm","pnpm dlx skills add javimosch\u002Fopen-claw-skills --skill didit-face-match","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Frosasalberto\u002Fdidit-face-match\u002FSKILL.md",true,[],[57,65,72,79,86,93],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":64},"01M778GGXG2VQ0YF31W2MKGMQZ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[],[],"2026-11-15 14:19:17",{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":64},"01M778G7BH8SBJ9FJ6C3G7CB1K","ceaser","Interact with the Ceaser privacy protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- shield, unshield, note management, and protocol queries. All ceaser tool calls use CLI subcommands (npx -y ceaser-mcp \u003Csubcommand>). Ceaser is a privacy-preserving ETH wrapper using Noir\u002FUltraHonk zero-knowledge proofs on Base L2 (chain ID 8453).","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyra-v21\u002Fceaser\u002FSKILL.md",[],[],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":64},"01M778FYCJQZWFKKX5FYMK3S47","ceaser-send","Fully automated private ETH transfer via Ceaser Protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- all ceaser tool calls use CLI subcommands (npx -y ceaser-mcp \u003Csubcommand>). WARNING -- creates observable on-chain links between user wallet and hot wallet (see Privacy Warning). Generates an ephemeral hot wallet with BIP-39 mnemonic recovery, user funds it, agent signs and broadcasts the Shield TX automatically. Exactly one manual step required (funding the hot wallet with ETH). Uses Noir\u002FUltraHonk zero-knowledge proofs.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyra-v21\u002Fceaser-send\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":64},"01M778FQQNSEYA3HJKZBPQ4M9Z","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[],[],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":64},"01M778FGVZX7QA2TF9BFMM37FY","moldium","Post and manage content on the Moldium blog platform. Triggered by \"post to Moldium\", \"write a blog post\", \"publish an article\", etc.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyom45\u002Fmoldium\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":64},"01M778F88D8PQ9MQ0KNW2TJ8ZH","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, submit comments, search papers, and import papers. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, submitting paper reviews, searching papers by title, or importing papers from arXiv URLs via API at http:\u002F\u002Fweakaccept.top:8000\u002F.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[],[]]