[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H2S89NHEACEH9VJ2ZAF8S7":3,"skill-same:01M6H2S89NHEACEH9VJ2ZAF8S7":67},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":19,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":37,"updatedAt":38,"install":39,"resources":52},"01M6H2S89NHEACEH9VJ2ZAF8S7","polyhub_account",null,"View portfolio stats on Polyhub using an API key.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fhubblevision-official-polyhub_account\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fhubblevision-official-polyhub_account\u002FSKILL.md",[],[20,21,22,23,24],"polyhub account","stats","api","view","portfolio","2026-11-10 10:12:30",false,"---\nname: polyhub_account\ndescription: View portfolio stats on Polyhub using an API key.\n---\n\n# Polyhub Account Skill\n\nVersion: v0.3.8\n\n## When to use\n\nUse this skill when the user asks about:\n\n- Portfolio overview or stats\n- Selling a position by token ID\n\n## Requirements\n\n- `POLYHUB_API_BASE_URL` is fixed to `https:\u002F\u002Fpolyhub.skill-test.bedev.hubble-rpc.xyz`.\n- `POLYHUB_API_KEY` — API key (must start with `phub_`)\n- `curl` must be available in the runtime environment.\n- `jq` is strongly recommended for building JSON payloads safely.\n\nIf `POLYHUB_API_KEY` is missing, guide the user to register and apply for one first at `https:\u002F\u002Fpolyhub.hubble.xyz\u002F`.\nRecommended guidance:\n\n1. Open Polyhub Web: `https:\u002F\u002Fpolyhub.hubble.xyz\u002F`\n2. Click the avatar menu.\n3. Open `Skills API Key`.\n4. Click `申请 API Key`.\n5. Set both `POLYHUB_API_BASE_URL` and `POLYHUB_API_KEY`.\n\nSuggested wording:\n\n```text\nAPI key is not configured yet, so I can't check your account details for now.\n\nPlease register first on PolyHub:\nhttps:\u002F\u002Fpolyhub.hubble.xyz\u002F\n\nAfter registration, click your avatar in the top-right corner and open `Skills API Key` to apply.\n\nSend me the generated key and I'll continue right away.\n```\n\n## Safety rules\n\n- Never print `POLYHUB_API_KEY` in the output.\n- Prefer building JSON with `jq -n` instead of interpolating raw shell strings.\n- For sell actions (`POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`), repeat the token ID and confirm with the user before calling the API.\n\n## Tools\n\nUse the `bash` tool to call the API with `curl`.\n\n## Fast Path\n\nFor common intents, map user requests like this:\n\n- “看资产统计” -> `GET \u002Fapi\u002Fv1\u002Fportfolio\u002Fstats`\n- “卖出这个仓位” \u002F “sell this position” -> `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`\n\n### Curl base setup\n\n```bash\nBASE=\"https:\u002F\u002Fpolyhub.skill-test.bedev.hubble-rpc.xyz\"\nAUTH=(-H \"Authorization: Bearer $POLYHUB_API_KEY\" -H \"Content-Type: application\u002Fjson\")\n```\n\n---\n\n## Portfolio\n\n### Action: Get portfolio stats\n\n- `GET \u002Fapi\u002Fv1\u002Fportfolio\u002Fstats`\n\nReturns aggregated portfolio statistics for the authenticated user.\n\nCurrent field semantics:\n\n- `positionsValue`: official Polymarket positions value\n- `availableBalance`: official USDC balance minus `unsettledFees`\n- `totalPnL`: official Polymarket total PnL\n- `unsettledFees`: unsettled Polyhub fees in USDC\n- `investedCapital`: Polyhub-calculated invested capital for copy-task history\n\nCurrent UI alignment in `poly_copy`:\n\n- Portfolio page top stats use this endpoint\n- Avatar dropdown `USDC Balance` uses `availableBalance`\n- Avatar dropdown `Account Value` uses `availableBalance + positionsValue`\n\n```bash\ncurl -sS --fail-with-body \"${AUTH[@]}\" \"$BASE\u002Fapi\u002Fv1\u002Fportfolio\u002Fstats\"\n```\n\n---\n\n## Sell Position\n\n### Action: Sell position by token ID\n\n- `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`\n- Sells the **entire** position for the specified token. Partial sell is not supported.\n\nRequired field: `TokenId` (the Polymarket token ID of the position to sell)\n\nBefore calling: repeat the token ID to the user and confirm. This action is irreversible.\n\nMinimum fields to ask:\n\n- Always ask: `TokenId`\n\n```bash\nPAYLOAD=\"$(jq -n \\\n  --arg TokenId \"...\" \\\n  '{TokenId: $TokenId}')\"\n\ncurl -sS --fail-with-body \"${AUTH[@]}\" -X POST \"$BASE\u002Fapi\u002Fv1\u002Fpositions\u002Fsell\" \\\n  -d \"$PAYLOAD\"\n```\n\nResponse contains:\n\n- `success`: whether the sell completed\n- `totalAmount`: total USDC amount received\n- `soldPositions`: array of sold positions, each with:\n  - `marketTitle`, `outcome`: which market and side was sold\n  - `amount`: shares sold\n  - `price`: execution price\n  - `currentPrice`: market price at time of sale\n  - `pnl`, `realizedPnl`, `unrealizedPnl`, `totalPnl`: PnL breakdown\n  - `value`: USDC value of the sold position\n  - `marketUrl`: link to the market on Polymarket\n- `skippedPositions`: array of positions that could not be sold, each with:\n  - `marketTitle`, `outcome`, `amount`: what was skipped\n  - `reason`: why it was skipped\n\nPresent results clearly:\n\n```\n✅ 卖出成功\n总金额: ${totalAmount} USDC\n\n已卖出:\n  - {marketTitle} ({outcome}): {amount} shares @ {price}, PnL ${totalPnl}\n\n跳过:\n  - {marketTitle} ({outcome}): {reason}\n```\n\n### Difference from copy-task sell\n\n| | `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell` | `POST \u002Fapi\u002Fv1\u002Fcopy-tasks\u002F{taskId}\u002Fsell` |\n|---|---|---|\n| Scope | Account-level, by token ID | Task-level, by task + market |\n| Partial sell | No (sells all) | Yes (`amount` field) |\n| Required params | `TokenId` | `taskId` + `marketId` or `conditionId` |\n| PnL in response | Yes (detailed breakdown) | No |\n| When to use | User wants to sell a specific position directly | User wants to manage positions within a copy task |\n\nGuidance:\n\n- If the user says \"卖掉这个仓位\" or provides a token ID, use `\u002Fpositions\u002Fsell`.\n- If the user says \"卖掉这个任务的某个持仓\" or references a copy task, use `\u002Fcopy-tasks\u002F{taskId}\u002Fsell`.\n- If the user wants to sell ALL positions in a task, use `\u002Fcopy-tasks\u002F{taskId}\u002Fsell-all`.\n\n---\n\n## Error handling\n\n- `401`: API key missing\u002Finvalid\u002Fexpired\u002Fdisabled. Ask user to check or regenerate key.\n- `400`: Invalid request payload. Check required fields.\n- `404`: Delegated access not registered for the given `organizationId`.\n- `405`: Wrong HTTP method.\n- `5xx`: Server error. Retry once with backoff; if still failing, report response body.\n","# Polyhub Account Skill\n\nVersion: v0.3.8\n\n## When to use\n\nUse this skill when the user asks about:\n\n- Portfolio overview or stats\n- Selling a position by token ID\n\n## Requirements\n\n- `POLYHUB_API_BASE_URL` is fixed to `https:\u002F\u002Fpolyhub.skill-test.bedev.hubble-rpc.xyz`.\n- `POLYHUB_API_KEY` — API key (must start with `phub_`)\n- `curl` must be available in the runtime environment.\n- `jq` is strongly recommended for building JSON payloads safely.\n\nIf `POLYHUB_API_KEY` is missing, guide the user to register and apply for one first at `https:\u002F\u002Fpolyhub.hubble.xyz\u002F`.\nRecommended guidance:\n\n1. Open Polyhub Web: `https:\u002F\u002Fpolyhub.hubble.xyz\u002F`\n2. Click the avatar menu.\n3. Open `Skills API Key`.\n4. Click `申请 API Key`.\n5. Set both `POLYHUB_API_BASE_URL` and `POLYHUB_API_KEY`.\n\nSuggested wording:\n\n```text\nAPI key is not configured yet, so I can't check your account details for now.\n\nPlease register first on PolyHub:\nhttps:\u002F\u002Fpolyhub.hubble.xyz\u002F\n\nAfter registration, click your avatar in the top-right corner and open `Skills API Key` to apply.\n\nSend me the generated key and I'll continue right away.\n```\n\n## Safety rules\n\n- Never print `POLYHUB_API_KEY` in the output.\n- Prefer building JSON with `jq -n` instead of interpolating raw shell strings.\n- For sell actions (`POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`), repeat the token ID and confirm with the user before calling the API.\n\n## Tools\n\nUse the `bash` tool to call the API with `curl`.\n\n## Fast Path\n\nFor common intents, map user requests like this:\n\n- “看资产统计” -> `GET \u002Fapi\u002Fv1\u002Fportfolio\u002Fstats`\n- “卖出这个仓位” \u002F “sell this position” -> `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`\n\n### Curl base setup\n\n```bash\nBASE=\"https:\u002F\u002Fpolyhub.skill-test.bedev.hubble-rpc.xyz\"\nAUTH=(-H \"Authorization: Bearer $POLYHUB_API_KEY\" -H \"Content-Type: application\u002Fjson\")\n```\n\n---\n\n## Portfolio\n\n### Action: Get portfolio stats\n\n- `GET \u002Fapi\u002Fv1\u002Fportfolio\u002Fstats`\n\nReturns aggregated portfolio statistics for the authenticated user.\n\nCurrent field semantics:\n\n- `positionsValue`: official Polymarket positions value\n- `availableBalance`: official USDC balance minus `unsettledFees`\n- `totalPnL`: official Polymarket total PnL\n- `unsettledFees`: unsettled Polyhub fees in USDC\n- `investedCapital`: Polyhub-calculated invested capital for copy-task history\n\nCurrent UI alignment in `poly_copy`:\n\n- Portfolio page top stats use this endpoint\n- Avatar dropdown `USDC Balance` uses `availableBalance`\n- Avatar dropdown `Account Value` uses `availableBalance + positionsValue`\n\n```bash\ncurl -sS --fail-with-body \"${AUTH[@]}\" \"$BASE\u002Fapi\u002Fv1\u002Fportfolio\u002Fstats\"\n```\n\n---\n\n## Sell Position\n\n### Action: Sell position by token ID\n\n- `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell`\n- Sells the **entire** position for the specified token. Partial sell is not supported.\n\nRequired field: `TokenId` (the Polymarket token ID of the position to sell)\n\nBefore calling: repeat the token ID to the user and confirm. This action is irreversible.\n\nMinimum fields to ask:\n\n- Always ask: `TokenId`\n\n```bash\nPAYLOAD=\"$(jq -n \\\n  --arg TokenId \"...\" \\\n  '{TokenId: $TokenId}')\"\n\ncurl -sS --fail-with-body \"${AUTH[@]}\" -X POST \"$BASE\u002Fapi\u002Fv1\u002Fpositions\u002Fsell\" \\\n  -d \"$PAYLOAD\"\n```\n\nResponse contains:\n\n- `success`: whether the sell completed\n- `totalAmount`: total USDC amount received\n- `soldPositions`: array of sold positions, each with:\n  - `marketTitle`, `outcome`: which market and side was sold\n  - `amount`: shares sold\n  - `price`: execution price\n  - `currentPrice`: market price at time of sale\n  - `pnl`, `realizedPnl`, `unrealizedPnl`, `totalPnl`: PnL breakdown\n  - `value`: USDC value of the sold position\n  - `marketUrl`: link to the market on Polymarket\n- `skippedPositions`: array of positions that could not be sold, each with:\n  - `marketTitle`, `outcome`, `amount`: what was skipped\n  - `reason`: why it was skipped\n\nPresent results clearly:\n\n```\n✅ 卖出成功\n总金额: ${totalAmount} USDC\n\n已卖出:\n  - {marketTitle} ({outcome}): {amount} shares @ {price}, PnL ${totalPnl}\n\n跳过:\n  - {marketTitle} ({outcome}): {reason}\n```\n\n### Difference from copy-task sell\n\n| | `POST \u002Fapi\u002Fv1\u002Fpositions\u002Fsell` | `POST \u002Fapi\u002Fv1\u002Fcopy-tasks\u002F{taskId}\u002Fsell` |\n|---|---|---|\n| Scope | Account-level, by token ID | Task-level, by task + market |\n| Partial sell | No (sells all) | Yes (`amount` field) |\n| Required params | `TokenId` | `taskId` + `marketId` or `conditionId` |\n| PnL in response | Yes (detailed breakdown) | No |\n| When to use | User wants to sell a specific position directly | User wants to manage positions within a copy task |\n\nGuidance:\n\n- If the user says \"卖掉这个仓位\" or provides a token ID, use `\u002Fpositions\u002Fsell`.\n- If the user says \"卖掉这个任务的某个持仓\" or references a copy task, use `\u002Fcopy-tasks\u002F{taskId}\u002Fsell`.\n- If the user wants to sell ALL positions in a task, use `\u002Fcopy-tasks\u002F{taskId}\u002Fsell-all`.\n\n---\n\n## Error handling\n\n- `401`: API key missing\u002Finvalid\u002Fexpired\u002Fdisabled. Ask user to check or regenerate key.\n- `400`: Invalid request payload. Check required fields.\n- `404`: Delegated access not registered for the given `organizationId`.\n- `405`: Wrong HTTP method.\n- `5xx`: Server error. Retry once with backoff; if still failing, report response body.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Ftrading\u002Fhubblevision-official-polyhub_account",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-15 02:28:10",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill polyhub_account",{"tool":45,"command":46},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill polyhub_account",{"tool":48,"command":49},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill polyhub_account","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fhubblevision-official-polyhub_account\u002FSKILL.md",true,[53,57,63],{"path":54,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"SOURCE.md","REFERENCE","参考文档",369,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fhubblevision-official-polyhub_account\u002FSOURCE.md",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"TRUST.auto.yaml",2197,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fhubblevision-official-polyhub_account\u002FTRUST.auto.yaml",[68,96,118,136,149,159],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":72,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":25},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":100,"licenseFileUrl":101,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":25},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[105,106,107,22,108,109,110,111,112,113,114,115,116,117],"mexc spot websocket","spot","websocket","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":100,"licenseFileUrl":122,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":25},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[126,106,127,128,129,130,131,115,114,113,132,133,134,109,135,108,22],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":100,"licenseFileUrl":140,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":25},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[144,145,107,146,147,116,114,148,112,111,109,108],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":150,"name":151,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":152,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":25},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[156,157,158],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":163,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":25},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[167,168,169,170,171,172,173,174,175,176,177],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","code","share"]