[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CVBAFNAQRGFZ8MWZ2J2XTQ":3,"skill-same:01M6CVBAFNAQRGFZ8MWZ2J2XTQ":81},{"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":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6CVBAFNAQRGFZ8MWZ2J2XTQ","protect-mcp-governance",null,"Agent governance skill for MCP tool calls — Cedar policy authoring, shadow-to-enforce rollout, and Ed25519 receipt verification.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fprotect-mcp-governance\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"MCP","governance","protect","protect mcp governance","safe","policy","official","verification","gateway","agent governance","ed25519","tool","rollout","Shadow","community","enforce","2026-11-10 10:12:30",false,"---\nname: protect-mcp-governance\ndescription: \"Agent governance skill for MCP tool calls — Cedar policy authoring, shadow-to-enforce rollout, and Ed25519 receipt verification.\"\nrisk: safe\nsource: community\nsource_repo: scopeblind\u002Fscopeblind-gateway\nsource_type: official\ndate_added: \"2026-04-05\"\n---\n\n# MCP Agent Governance with protect-mcp\n\n## Overview\n\nGuidance for governing AI agent tool calls using Cedar policies and Ed25519 signed receipts. This skill teaches how to write access-control policies for MCP servers, run them in shadow mode for observation, and verify the cryptographic audit trail.\n\n## When to Use This Skill\n\n- Use when you need to control which MCP tools an agent can call and under what conditions\n- Use when you want a tamper-evident audit trail for agent tool executions\n- Use when rolling out governance policies gradually (shadow mode first, then enforce)\n- Use when authoring Cedar policies for MCP tool access control\n- Use when verifying that a receipt or audit bundle has not been tampered with\n\n## Do Not Use This Skill\n\n- When you need general application security auditing (use `@security-auditor`)\n- When you need to scan code for vulnerabilities (use `@security-audit`)\n- When you need compliance framework guidance without agent-specific governance\n\n## How It Works\n\nprotect-mcp intercepts MCP tool calls, evaluates them against Cedar policies (the same policy engine used by AWS Verified Permissions), and signs every decision as an Ed25519 receipt. The receipt is a cryptographic proof that a specific policy was evaluated against a specific tool call at a specific time.\n\n```\nAgent → protect-mcp → Cedar policy evaluation → MCP Server\n                ↓\n        Ed25519 signed receipt\n```\n\nThree modes of operation:\n\n1. **Shadow mode** (default) — logs decisions without blocking. Use this to observe what your policies would do before enforcing them.\n2. **Enforce mode** — blocks tool calls that violate policy. Use after shadow-mode validation.\n3. **Hooks mode** — integrates with Claude Code hooks for pre\u002Fpost tool-call governance.\n\n## Core Concepts\n\n### Cedar Policies\n\nCedar is a policy language designed for authorization. Policies are evaluated locally via WASM — no network calls required.\n\n```cedar\n\u002F\u002F Allow read-only file operations\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\"read_file\", \"list_directory\", \"search_files\"]\n};\n\n\u002F\u002F Deny destructive operations\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\"execute_command\", \"delete_file\", \"write_file\"]\n  && resource has args\n  && resource.args.contains(\"rm -rf\")\n};\n```\n\n### Signed Receipts\n\nEvery policy decision produces a signed receipt:\n\n```json\n{\n  \"payload\": {\n    \"type\": \"protectmcp:decision\",\n    \"tool_name\": \"read_file\",\n    \"decision\": \"allow\",\n    \"policy_digest\": \"sha256:9d0fd4c9e72c1d5d\",\n    \"issued_at\": \"2026-04-05T14:32:04.102Z\",\n    \"issuer_id\": \"sb:issuer:de073ae64e43\"\n  },\n  \"signature\": {\n    \"alg\": \"EdDSA\",\n    \"kid\": \"sb:issuer:de073ae64e43\",\n    \"sig\": \"2a3b5022...\"\n  }\n}\n```\n\nThe receipt format follows [IETF Internet-Draft draft-farley-acta-signed-receipts](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-farley-acta-signed-receipts\u002F).\n\n## Step-by-Step Guide\n\n### 1. Initialize Governance for a Project\n\n```bash\n# Install and initialize hooks (Claude Code integration)\nnpx protect-mcp init-hooks\n\n# Or run as a standalone MCP gateway\nnpx protect-mcp serve\n```\n\nThis creates a `protect-mcp.config.json` and a starter Cedar policy in your project root.\n\n### 2. Write Your First Policy\n\nCreate `policy.cedar` in your project:\n\n```cedar\n\u002F\u002F Start permissive — allow everything in shadow mode\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n);\n```\n\n### 3. Run in Shadow Mode (Observe First)\n\n```bash\n# Shadow mode is the default — logs decisions without blocking\nnpx protect-mcp --policy policy.cedar -- node your-mcp-server.js\n```\n\nReview the shadow log to understand what your agent is doing before writing restrictive policies.\n\n### 4. Tighten and Enforce\n\nOnce you understand the tool-call patterns, write specific policies:\n\n```cedar\n\u002F\u002F Allow file reads, deny writes outside src\u002F\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name == \"read_file\"\n};\n\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name == \"write_file\"\n  && resource has args\n  && resource.args.path like \"src\u002F*\"\n};\n\n\u002F\u002F Deny everything else\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n);\n```\n\nSwitch to enforce mode:\n\n```bash\nnpx protect-mcp --policy policy.cedar --enforce -- node your-mcp-server.js\n```\n\n### 5. Verify Receipts\n\n```bash\n# Verify a single receipt\nnpx @veritasacta\u002Fverify receipt.json --key \u003Cpublic-key-hex>\n\n# Verify an audit bundle (multiple receipts + keys)\nnpx @veritasacta\u002Fverify bundle.json --bundle\n\n# Self-test the verifier (proves it works offline)\nnpx @veritasacta\u002Fverify --self-test\n```\n\nExit codes: `0` = signature valid (proven authentic), `1` = signature invalid (proven tampered), `2` = verifier error (malformed input).\n\n## Examples\n\n### Example 1: Governance for a Claude Code Session\n\n```bash\n# Initialize hooks\nnpx protect-mcp init-hooks\n\n# Claude Code now generates a signed receipt for every tool call.\n# Receipts are stored in .protect-mcp\u002Freceipts\u002F\n```\n\n**Explanation:** After initialization, every tool call Claude Code makes is logged with a signed receipt. No tool calls are blocked (shadow mode).\n\n### Example 2: Restrict a Production MCP Server\n\n```cedar\n\u002F\u002F Only allow approved tools with rate limiting\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\n    \"get_customer\",\n    \"search_orders\",\n    \"list_products\"\n  ]\n};\n\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\n    \"delete_customer\",\n    \"modify_payment\",\n    \"execute_sql\"\n  ]\n};\n```\n\n**Explanation:** A production MCP server that serves customer data. Read-only operations are permitted; destructive operations are blocked.\n\n### Example 3: Verify an Audit Bundle After an Incident\n\n```bash\n# Export the session's audit bundle\nnpx protect-mcp export-bundle --session sess_abc123 --out audit.json\n\n# Verify every receipt in the bundle\nnpx @veritasacta\u002Fverify audit.json --bundle\n\n# Expected output:\n# ✓ Bundle: VALID\n#   Total:    47\n#   Passed:   47\n#   Failed:   0\n```\n\n**Explanation:** After an incident, export the audit bundle and verify that no receipts have been tampered with. The bundle contains all receipts from the session plus the signing keys needed for verification.\n\n## Best Practices\n\n- ✅ **Do:** Start in shadow mode and observe before enforcing\n- ✅ **Do:** Use `policy_digest` to track which policy version produced each decision\n- ✅ **Do:** Store receipts alongside your application logs for correlation\n- ✅ **Do:** Pin the verifier version when integrating into CI (`@veritasacta\u002Fverify@0.2.5`)\n- ❌ **Don't:** Skip shadow mode and go straight to enforce in production\n- ❌ **Don't:** Trust `claimed_issuer_tier` without independent verification\n- ❌ **Don't:** Treat a valid signature as proof the signer is trustworthy — it only proves the receipt has not been tampered with since signing\n\n## Troubleshooting\n\n### Problem: Receipts fail verification with `no_public_key`\n**Symptoms:** `npx @veritasacta\u002Fverify receipt.json` returns exit 2 with `no_public_key`\n**Solution:** Provide the public key explicitly: `--key \u003C64 hex chars>`. The receipt does not embed the public key by default. Check `protect-mcp.config.json` for the issuer's public key.\n\n### Problem: Shadow mode shows unexpected denials\n**Symptoms:** Shadow log shows `deny` decisions for tools you expected to be allowed\n**Solution:** Check your Cedar policy ordering. Cedar evaluates `forbid` rules before `permit` rules — a broad `forbid` will override specific `permit` rules.\n\n### Problem: Enforce mode blocks a legitimate tool call\n**Symptoms:** Agent reports a tool call was denied after switching to enforce mode\n**Solution:** Add the tool to your permit policy or switch back to shadow mode: remove `--enforce` flag. Review the receipt's `deny_reason` field for the specific policy violation.\n\n## Related Skills\n\n- `@security-auditor` — General security auditing and compliance\n- `@security-audit` — Code vulnerability scanning\n- `@mcp-development` — MCP server development patterns\n\n## Additional Resources\n\n- [protect-mcp on npm](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fprotect-mcp) — MIT licensed\n- [Cedar Policy Language](https:\u002F\u002Fwww.cedarpolicy.com\u002F) — AWS open-source policy engine\n- [IETF Draft: Signed Receipts](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-farley-acta-signed-receipts\u002F) — Receipt format specification\n- [@veritasacta\u002Fverify](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@veritasacta\u002Fverify) — Apache-2.0 verifier, works offline\n","# MCP Agent Governance with protect-mcp\n\n## Overview\n\nGuidance for governing AI agent tool calls using Cedar policies and Ed25519 signed receipts. This skill teaches how to write access-control policies for MCP servers, run them in shadow mode for observation, and verify the cryptographic audit trail.\n\n## When to Use This Skill\n\n- Use when you need to control which MCP tools an agent can call and under what conditions\n- Use when you want a tamper-evident audit trail for agent tool executions\n- Use when rolling out governance policies gradually (shadow mode first, then enforce)\n- Use when authoring Cedar policies for MCP tool access control\n- Use when verifying that a receipt or audit bundle has not been tampered with\n\n## Do Not Use This Skill\n\n- When you need general application security auditing (use `@security-auditor`)\n- When you need to scan code for vulnerabilities (use `@security-audit`)\n- When you need compliance framework guidance without agent-specific governance\n\n## How It Works\n\nprotect-mcp intercepts MCP tool calls, evaluates them against Cedar policies (the same policy engine used by AWS Verified Permissions), and signs every decision as an Ed25519 receipt. The receipt is a cryptographic proof that a specific policy was evaluated against a specific tool call at a specific time.\n\n```\nAgent → protect-mcp → Cedar policy evaluation → MCP Server\n                ↓\n        Ed25519 signed receipt\n```\n\nThree modes of operation:\n\n1. **Shadow mode** (default) — logs decisions without blocking. Use this to observe what your policies would do before enforcing them.\n2. **Enforce mode** — blocks tool calls that violate policy. Use after shadow-mode validation.\n3. **Hooks mode** — integrates with Claude Code hooks for pre\u002Fpost tool-call governance.\n\n## Core Concepts\n\n### Cedar Policies\n\nCedar is a policy language designed for authorization. Policies are evaluated locally via WASM — no network calls required.\n\n```cedar\n\u002F\u002F Allow read-only file operations\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\"read_file\", \"list_directory\", \"search_files\"]\n};\n\n\u002F\u002F Deny destructive operations\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\"execute_command\", \"delete_file\", \"write_file\"]\n  && resource has args\n  && resource.args.contains(\"rm -rf\")\n};\n```\n\n### Signed Receipts\n\nEvery policy decision produces a signed receipt:\n\n```json\n{\n  \"payload\": {\n    \"type\": \"protectmcp:decision\",\n    \"tool_name\": \"read_file\",\n    \"decision\": \"allow\",\n    \"policy_digest\": \"sha256:9d0fd4c9e72c1d5d\",\n    \"issued_at\": \"2026-04-05T14:32:04.102Z\",\n    \"issuer_id\": \"sb:issuer:de073ae64e43\"\n  },\n  \"signature\": {\n    \"alg\": \"EdDSA\",\n    \"kid\": \"sb:issuer:de073ae64e43\",\n    \"sig\": \"2a3b5022...\"\n  }\n}\n```\n\nThe receipt format follows [IETF Internet-Draft draft-farley-acta-signed-receipts](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-farley-acta-signed-receipts\u002F).\n\n## Step-by-Step Guide\n\n### 1. Initialize Governance for a Project\n\n```bash\n# Install and initialize hooks (Claude Code integration)\nnpx protect-mcp init-hooks\n\n# Or run as a standalone MCP gateway\nnpx protect-mcp serve\n```\n\nThis creates a `protect-mcp.config.json` and a starter Cedar policy in your project root.\n\n### 2. Write Your First Policy\n\nCreate `policy.cedar` in your project:\n\n```cedar\n\u002F\u002F Start permissive — allow everything in shadow mode\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n);\n```\n\n### 3. Run in Shadow Mode (Observe First)\n\n```bash\n# Shadow mode is the default — logs decisions without blocking\nnpx protect-mcp --policy policy.cedar -- node your-mcp-server.js\n```\n\nReview the shadow log to understand what your agent is doing before writing restrictive policies.\n\n### 4. Tighten and Enforce\n\nOnce you understand the tool-call patterns, write specific policies:\n\n```cedar\n\u002F\u002F Allow file reads, deny writes outside src\u002F\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name == \"read_file\"\n};\n\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name == \"write_file\"\n  && resource has args\n  && resource.args.path like \"src\u002F*\"\n};\n\n\u002F\u002F Deny everything else\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n);\n```\n\nSwitch to enforce mode:\n\n```bash\nnpx protect-mcp --policy policy.cedar --enforce -- node your-mcp-server.js\n```\n\n### 5. Verify Receipts\n\n```bash\n# Verify a single receipt\nnpx @veritasacta\u002Fverify receipt.json --key \u003Cpublic-key-hex>\n\n# Verify an audit bundle (multiple receipts + keys)\nnpx @veritasacta\u002Fverify bundle.json --bundle\n\n# Self-test the verifier (proves it works offline)\nnpx @veritasacta\u002Fverify --self-test\n```\n\nExit codes: `0` = signature valid (proven authentic), `1` = signature invalid (proven tampered), `2` = verifier error (malformed input).\n\n## Examples\n\n### Example 1: Governance for a Claude Code Session\n\n```bash\n# Initialize hooks\nnpx protect-mcp init-hooks\n\n# Claude Code now generates a signed receipt for every tool call.\n# Receipts are stored in .protect-mcp\u002Freceipts\u002F\n```\n\n**Explanation:** After initialization, every tool call Claude Code makes is logged with a signed receipt. No tool calls are blocked (shadow mode).\n\n### Example 2: Restrict a Production MCP Server\n\n```cedar\n\u002F\u002F Only allow approved tools with rate limiting\npermit(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\n    \"get_customer\",\n    \"search_orders\",\n    \"list_products\"\n  ]\n};\n\nforbid(\n  principal,\n  action == Action::\"call_tool\",\n  resource\n) when {\n  resource.tool_name in [\n    \"delete_customer\",\n    \"modify_payment\",\n    \"execute_sql\"\n  ]\n};\n```\n\n**Explanation:** A production MCP server that serves customer data. Read-only operations are permitted; destructive operations are blocked.\n\n### Example 3: Verify an Audit Bundle After an Incident\n\n```bash\n# Export the session's audit bundle\nnpx protect-mcp export-bundle --session sess_abc123 --out audit.json\n\n# Verify every receipt in the bundle\nnpx @veritasacta\u002Fverify audit.json --bundle\n\n# Expected output:\n# ✓ Bundle: VALID\n#   Total:    47\n#   Passed:   47\n#   Failed:   0\n```\n\n**Explanation:** After an incident, export the audit bundle and verify that no receipts have been tampered with. The bundle contains all receipts from the session plus the signing keys needed for verification.\n\n## Best Practices\n\n- ✅ **Do:** Start in shadow mode and observe before enforcing\n- ✅ **Do:** Use `policy_digest` to track which policy version produced each decision\n- ✅ **Do:** Store receipts alongside your application logs for correlation\n- ✅ **Do:** Pin the verifier version when integrating into CI (`@veritasacta\u002Fverify@0.2.5`)\n- ❌ **Don't:** Skip shadow mode and go straight to enforce in production\n- ❌ **Don't:** Trust `claimed_issuer_tier` without independent verification\n- ❌ **Don't:** Treat a valid signature as proof the signer is trustworthy — it only proves the receipt has not been tampered with since signing\n\n## Troubleshooting\n\n### Problem: Receipts fail verification with `no_public_key`\n**Symptoms:** `npx @veritasacta\u002Fverify receipt.json` returns exit 2 with `no_public_key`\n**Solution:** Provide the public key explicitly: `--key \u003C64 hex chars>`. The receipt does not embed the public key by default. Check `protect-mcp.config.json` for the issuer's public key.\n\n### Problem: Shadow mode shows unexpected denials\n**Symptoms:** Shadow log shows `deny` decisions for tools you expected to be allowed\n**Solution:** Check your Cedar policy ordering. Cedar evaluates `forbid` rules before `permit` rules — a broad `forbid` will override specific `permit` rules.\n\n### Problem: Enforce mode blocks a legitimate tool call\n**Symptoms:** Agent reports a tool call was denied after switching to enforce mode\n**Solution:** Add the tool to your permit policy or switch back to shadow mode: remove `--enforce` flag. Review the receipt's `deny_reason` field for the specific policy violation.\n\n## Related Skills\n\n- `@security-auditor` — General security auditing and compliance\n- `@security-audit` — Code vulnerability scanning\n- `@mcp-development` — MCP server development patterns\n\n## Additional Resources\n\n- [protect-mcp on npm](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fprotect-mcp) — MIT licensed\n- [Cedar Policy Language](https:\u002F\u002Fwww.cedarpolicy.com\u002F) — AWS open-source policy engine\n- [IETF Draft: Signed Receipts](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-farley-acta-signed-receipts\u002F) — Receipt format specification\n- [@veritasacta\u002Fverify](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@veritasacta\u002Fverify) — Apache-2.0 verifier, works offline\n",{"name":5,"risk":28,"source":38,"date_added":45,"description":7,"source_repo":46,"source_type":30},"2026-04-05","scopeblind\u002Fscopeblind-gateway","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fprotect-mcp-governance",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill protect-mcp-governance",{"tool":61,"command":62},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill protect-mcp-governance",{"tool":64,"command":65},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill protect-mcp-governance","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fprotect-mcp-governance\u002FSKILL.md",true,[69,75],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fiqtree_inference.md","REFERENCE","参考文档",5391,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fbioinformatics-and-omics\u002Fphylogenetics\u002Freferences\u002Fiqtree_inference.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fphylogenetic_analysis.py","SCRIPT","脚本",8954,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fbioinformatics-and-omics\u002Fphylogenetics\u002Fscripts\u002Fphylogenetic_analysis.py",[82,93,109,133,152,178],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":40},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[91,92],"Test Skill","test",{"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":40},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[100,101,102,103,104,105,106,38,107,108],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":40},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[115],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[117,118,119,120,121,122,24,123,124,125,126,127,128,129,38,130,131,132],"automation","zoom automation","zoom","first","Tools","search","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":40},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[139],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[141,117,142,143,144,145,146,38,122,147,129,148,126,125,121,149,107,150,24,151],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":40},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[162,163,164,165,166,108,28,167,168,169,170,171,103,172,173,174,175,38,176,177],"expert","zod","zod validation expert","validation","react","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":185,"publishedAt":40},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[184],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[186,187,188,189,190,191,192,193,38,194,195,196,197,198,199,200,31,201,202,24],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","code","rust"]