[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F75JTPCWCWFM2CH2WGQ13Y":3,"skill-same:01M6F75JTPCWCWFM2CH2WGQ13Y":84},{"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":28,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6F75JTPCWCWFM2CH2WGQ13Y","guidewire-install-auth",null,"Install and configure Guidewire InsuranceSuite development environment and Cloud API authentication.\nUse when setting up a new Guidewire integration, configuring OAuth2 credentials,\nregistering with Guidewire Hub, or initializing Guidewire Studio.\nTrigger with phrases like \"install guidewire\", \"setup guidewire\",\n\"guidewire auth\", \"configure guidewire API\", \"guidewire cloud credentials\".","Dicklesworthstone\u002Fpi_agent_rust","Dicklesworthstone","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35050222?v=4","01M6CG26AR942CSVMN1M5E3DSE","Jeff Emanuel","01M6CG26EPP71PSHW1VDS71121",1991,"MIT","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fguidewire-pack\u002Fskills\u002Fguidewire-install-auth\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"guidewire install auth","auth","install","environment","new","when","studio","development environment","trigger","io","gradle","up","use","edit","write","read","configure","Bash","api","credentials","java","authentication","development","2026-11-10 10:12:30",false,"---\nname: guidewire-install-auth\ndescription: |\n  Install and configure Guidewire InsuranceSuite development environment and Cloud API authentication.\n  Use when setting up a new Guidewire integration, configuring OAuth2 credentials,\n  registering with Guidewire Hub, or initializing Guidewire Studio.\n  Trigger with phrases like \"install guidewire\", \"setup guidewire\",\n  \"guidewire auth\", \"configure guidewire API\", \"guidewire cloud credentials\".\nallowed-tools: Read, Write, Edit, Bash(java:*), Bash(gradle:*), Bash(npm:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\n---\n\n# Guidewire Install & Auth\n\n## Overview\n\nSet up Guidewire InsuranceSuite development environment and configure Cloud API authentication with Guidewire Hub using OAuth2 and JWT tokens.\n\n## Prerequisites\n\n- JDK 11 or 17 (Guidewire Cloud 202503+ requires JDK 17)\n- Gradle 7.x or 8.x\n- Guidewire Cloud account with developer access\n- Access to Guidewire Cloud Console (GCC)\n- Guidewire Hub registration for your application\n\n## Instructions\n\n### Step 1: Install Development Tools\n\n```bash\n# Verify Java installation\njava -version\n# Required: openjdk 17.x or 11.x\n\n# Install Gradle if needed\nsdk install gradle 8.5\n\n# Clone your InsuranceSuite configuration repository\ngit clone https:\u002F\u002Fyour-org@dev.azure.com\u002Fyour-org\u002FPolicyCenter\u002F_git\u002FPolicyCenter\ncd PolicyCenter\n```\n\n### Step 2: Configure Guidewire Studio\n\n```bash\n# Set environment variables\nexport GW_HOME=\u002Fpath\u002Fto\u002Fguidewire\u002Finstallation\nexport JAVA_HOME=\u002Fpath\u002Fto\u002Fjdk17\n\n# Import project into IntelliJ IDEA (recommended IDE)\n# File > Open > Select the build.gradle file\n```\n\n### Step 3: Register Application with Guidewire Hub\n\n1. Log into Guidewire Cloud Console (GCC) at `https:\u002F\u002Fgcc.guidewire.com`\n2. Navigate to **Identity & Access > Applications**\n3. Click **Register Application**\n4. Select application type:\n   - **Browser Application** - For Jutro frontends (OAuth2 Authorization Code flow)\n   - **Service Application** - For backend integrations (OAuth2 Client Credentials flow)\n5. Record the `client_id` and `client_secret`\n\n### Step 4: Configure OAuth2 Credentials\n\n```bash\n# Create environment configuration\ncat > .env \u003C\u003C 'EOF'\n# Guidewire Cloud API Configuration\nGW_TENANT_ID=your-tenant-id\nGW_CLIENT_ID=your-client-id\nGW_CLIENT_SECRET=your-client-secret\nGW_HUB_URL=https:\u002F\u002Fhub.guidewire.com\nGW_API_BASE_URL=https:\u002F\u002Fyour-tenant.cloud.guidewire.com\n\n# Application endpoints\nPOLICYCENTER_URL=${GW_API_BASE_URL}\u002Fpc\u002Frest\nCLAIMCENTER_URL=${GW_API_BASE_URL}\u002Fcc\u002Frest\nBILLINGCENTER_URL=${GW_API_BASE_URL}\u002Fbc\u002Frest\nEOF\n```\n\n### Step 5: Obtain Access Token (Service Application)\n\n```typescript\n\u002F\u002F TypeScript\u002FNode.js - OAuth2 Client Credentials Flow\nimport axios from 'axios';\n\ninterface TokenResponse {\n  access_token: string;\n  token_type: string;\n  expires_in: number;\n}\n\nasync function getAccessToken(): Promise\u003Cstring> {\n  const tokenUrl = `${process.env.GW_HUB_URL}\u002Foauth\u002Ftoken`;\n\n  const response = await axios.post\u003CTokenResponse>(tokenUrl,\n    new URLSearchParams({\n      grant_type: 'client_credentials',\n      client_id: process.env.GW_CLIENT_ID!,\n      client_secret: process.env.GW_CLIENT_SECRET!,\n      scope: 'pc.policies cc.claims bc.billing'\n    }),\n    {\n      headers: { 'Content-Type': 'application\u002Fx-www-form-urlencoded' }\n    }\n  );\n\n  return response.data.access_token;\n}\n```\n\n### Step 6: Verify Connection\n\n```typescript\n\u002F\u002F Test API connection\nasync function verifyConnection(): Promise\u003Cvoid> {\n  const token = await getAccessToken();\n\n  const response = await axios.get(\n    `${process.env.POLICYCENTER_URL}\u002Fcommon\u002Fv1\u002Fsystem-info`,\n    {\n      headers: {\n        'Authorization': `Bearer ${token}`,\n        'Content-Type': 'application\u002Fjson'\n      }\n    }\n  );\n\n  console.log('Connected to PolicyCenter:', response.data);\n}\n```\n\n## Gosu Authentication (Server-Side)\n\n```gosu\n\u002F\u002F Gosu - Internal authentication for plugins\nuses gw.api.system.server.ServerUtil\nuses gw.api.web.SessionUtil\n\nclass AuthHelper {\n  static function getAuthenticatedUser() : User {\n    return SessionUtil.CurrentUser\n  }\n\n  static function runAsSystemUser\u003CT>(block() : T) : T {\n    return ServerUtil.runAsSystemUser(\\-> block())\n  }\n}\n```\n\n## Output\n\n- Configured Guidewire Studio project\n- OAuth2 credentials in environment variables\n- Verified connection to Cloud API endpoints\n- JWT token acquisition working\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `invalid_client` | Wrong client credentials | Verify client_id and secret in GCC |\n| `invalid_scope` | Unauthorized scope requested | Check API role assignments in GCC |\n| `401 Unauthorized` | Expired or invalid token | Refresh token, check clock sync |\n| `403 Forbidden` | Missing API role permissions | Assign appropriate API roles in GCC |\n| `PKIX path building failed` | SSL certificate issue | Import Guidewire CA certificates |\n\n## API Roles Configuration\n\nConfigure in Guidewire Cloud Console:\n\n```yaml\n# Recommended API roles for service applications\napi_roles:\n  - PolicyCenter:\n      - pc_policy_admin\n      - pc_submission_handler\n      - pc_product_read\n  - ClaimCenter:\n      - cc_claim_admin\n      - cc_fnol_handler\n  - BillingCenter:\n      - bc_billing_admin\n      - bc_payment_handler\n```\n\n## Examples\n\n### Complete TypeScript Client Setup\n\n```typescript\nimport axios, { AxiosInstance } from 'axios';\n\nclass GuidewireClient {\n  private token: string | null = null;\n  private tokenExpiry: Date | null = null;\n  private httpClient: AxiosInstance;\n\n  constructor(\n    private clientId: string,\n    private clientSecret: string,\n    private hubUrl: string,\n    private apiBaseUrl: string\n  ) {\n    this.httpClient = axios.create({\n      baseURL: apiBaseUrl,\n      timeout: 30000\n    });\n  }\n\n  private async ensureToken(): Promise\u003Cstring> {\n    if (this.token && this.tokenExpiry && this.tokenExpiry > new Date()) {\n      return this.token;\n    }\n\n    const response = await axios.post(`${this.hubUrl}\u002Foauth\u002Ftoken`,\n      new URLSearchParams({\n        grant_type: 'client_credentials',\n        client_id: this.clientId,\n        client_secret: this.clientSecret\n      })\n    );\n\n    this.token = response.data.access_token;\n    this.tokenExpiry = new Date(Date.now() + (response.data.expires_in - 60) * 1000);\n    return this.token;\n  }\n\n  async request\u003CT>(method: string, path: string, data?: any): Promise\u003CT> {\n    const token = await this.ensureToken();\n    const response = await this.httpClient.request\u003CT>({\n      method,\n      url: path,\n      data,\n      headers: {\n        'Authorization': `Bearer ${token}`,\n        'Content-Type': 'application\u002Fjson'\n      }\n    });\n    return response.data;\n  }\n}\n\n\u002F\u002F Usage\nconst client = new GuidewireClient(\n  process.env.GW_CLIENT_ID!,\n  process.env.GW_CLIENT_SECRET!,\n  process.env.GW_HUB_URL!,\n  process.env.POLICYCENTER_URL!\n);\n```\n\n## Resources\n\n- [Guidewire Developer Portal](https:\u002F\u002Fdeveloper.guidewire.com\u002F)\n- [Cloud API Authentication](https:\u002F\u002Fdocs.guidewire.com\u002Feducation\u002Fcloud-integration-basics\u002Flatest\u002Fdocs\u002Fauthentication\u002Fcloud_api_auth\u002F)\n- [Guidewire Hub Registration](https:\u002F\u002Fdocs.guidewire.com\u002Fcloud\u002Fpc\u002F202503\u002Fcloudapica\u002FcloudAPI\u002Ftopics\u002F702-AuthFlows\u002F)\n- [Guidewire Cloud Console](https:\u002F\u002Fgcc.guidewire.com\u002F)\n\n## Next Steps\n\nAfter successful auth, proceed to `guidewire-hello-world` for your first API calls.\n","# Guidewire Install & Auth\n\n## Overview\n\nSet up Guidewire InsuranceSuite development environment and configure Cloud API authentication with Guidewire Hub using OAuth2 and JWT tokens.\n\n## Prerequisites\n\n- JDK 11 or 17 (Guidewire Cloud 202503+ requires JDK 17)\n- Gradle 7.x or 8.x\n- Guidewire Cloud account with developer access\n- Access to Guidewire Cloud Console (GCC)\n- Guidewire Hub registration for your application\n\n## Instructions\n\n### Step 1: Install Development Tools\n\n```bash\n# Verify Java installation\njava -version\n# Required: openjdk 17.x or 11.x\n\n# Install Gradle if needed\nsdk install gradle 8.5\n\n# Clone your InsuranceSuite configuration repository\ngit clone https:\u002F\u002Fyour-org@dev.azure.com\u002Fyour-org\u002FPolicyCenter\u002F_git\u002FPolicyCenter\ncd PolicyCenter\n```\n\n### Step 2: Configure Guidewire Studio\n\n```bash\n# Set environment variables\nexport GW_HOME=\u002Fpath\u002Fto\u002Fguidewire\u002Finstallation\nexport JAVA_HOME=\u002Fpath\u002Fto\u002Fjdk17\n\n# Import project into IntelliJ IDEA (recommended IDE)\n# File > Open > Select the build.gradle file\n```\n\n### Step 3: Register Application with Guidewire Hub\n\n1. Log into Guidewire Cloud Console (GCC) at `https:\u002F\u002Fgcc.guidewire.com`\n2. Navigate to **Identity & Access > Applications**\n3. Click **Register Application**\n4. Select application type:\n   - **Browser Application** - For Jutro frontends (OAuth2 Authorization Code flow)\n   - **Service Application** - For backend integrations (OAuth2 Client Credentials flow)\n5. Record the `client_id` and `client_secret`\n\n### Step 4: Configure OAuth2 Credentials\n\n```bash\n# Create environment configuration\ncat > .env \u003C\u003C 'EOF'\n# Guidewire Cloud API Configuration\nGW_TENANT_ID=your-tenant-id\nGW_CLIENT_ID=your-client-id\nGW_CLIENT_SECRET=your-client-secret\nGW_HUB_URL=https:\u002F\u002Fhub.guidewire.com\nGW_API_BASE_URL=https:\u002F\u002Fyour-tenant.cloud.guidewire.com\n\n# Application endpoints\nPOLICYCENTER_URL=${GW_API_BASE_URL}\u002Fpc\u002Frest\nCLAIMCENTER_URL=${GW_API_BASE_URL}\u002Fcc\u002Frest\nBILLINGCENTER_URL=${GW_API_BASE_URL}\u002Fbc\u002Frest\nEOF\n```\n\n### Step 5: Obtain Access Token (Service Application)\n\n```typescript\n\u002F\u002F TypeScript\u002FNode.js - OAuth2 Client Credentials Flow\nimport axios from 'axios';\n\ninterface TokenResponse {\n  access_token: string;\n  token_type: string;\n  expires_in: number;\n}\n\nasync function getAccessToken(): Promise\u003Cstring> {\n  const tokenUrl = `${process.env.GW_HUB_URL}\u002Foauth\u002Ftoken`;\n\n  const response = await axios.post\u003CTokenResponse>(tokenUrl,\n    new URLSearchParams({\n      grant_type: 'client_credentials',\n      client_id: process.env.GW_CLIENT_ID!,\n      client_secret: process.env.GW_CLIENT_SECRET!,\n      scope: 'pc.policies cc.claims bc.billing'\n    }),\n    {\n      headers: { 'Content-Type': 'application\u002Fx-www-form-urlencoded' }\n    }\n  );\n\n  return response.data.access_token;\n}\n```\n\n### Step 6: Verify Connection\n\n```typescript\n\u002F\u002F Test API connection\nasync function verifyConnection(): Promise\u003Cvoid> {\n  const token = await getAccessToken();\n\n  const response = await axios.get(\n    `${process.env.POLICYCENTER_URL}\u002Fcommon\u002Fv1\u002Fsystem-info`,\n    {\n      headers: {\n        'Authorization': `Bearer ${token}`,\n        'Content-Type': 'application\u002Fjson'\n      }\n    }\n  );\n\n  console.log('Connected to PolicyCenter:', response.data);\n}\n```\n\n## Gosu Authentication (Server-Side)\n\n```gosu\n\u002F\u002F Gosu - Internal authentication for plugins\nuses gw.api.system.server.ServerUtil\nuses gw.api.web.SessionUtil\n\nclass AuthHelper {\n  static function getAuthenticatedUser() : User {\n    return SessionUtil.CurrentUser\n  }\n\n  static function runAsSystemUser\u003CT>(block() : T) : T {\n    return ServerUtil.runAsSystemUser(\\-> block())\n  }\n}\n```\n\n## Output\n\n- Configured Guidewire Studio project\n- OAuth2 credentials in environment variables\n- Verified connection to Cloud API endpoints\n- JWT token acquisition working\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `invalid_client` | Wrong client credentials | Verify client_id and secret in GCC |\n| `invalid_scope` | Unauthorized scope requested | Check API role assignments in GCC |\n| `401 Unauthorized` | Expired or invalid token | Refresh token, check clock sync |\n| `403 Forbidden` | Missing API role permissions | Assign appropriate API roles in GCC |\n| `PKIX path building failed` | SSL certificate issue | Import Guidewire CA certificates |\n\n## API Roles Configuration\n\nConfigure in Guidewire Cloud Console:\n\n```yaml\n# Recommended API roles for service applications\napi_roles:\n  - PolicyCenter:\n      - pc_policy_admin\n      - pc_submission_handler\n      - pc_product_read\n  - ClaimCenter:\n      - cc_claim_admin\n      - cc_fnol_handler\n  - BillingCenter:\n      - bc_billing_admin\n      - bc_payment_handler\n```\n\n## Examples\n\n### Complete TypeScript Client Setup\n\n```typescript\nimport axios, { AxiosInstance } from 'axios';\n\nclass GuidewireClient {\n  private token: string | null = null;\n  private tokenExpiry: Date | null = null;\n  private httpClient: AxiosInstance;\n\n  constructor(\n    private clientId: string,\n    private clientSecret: string,\n    private hubUrl: string,\n    private apiBaseUrl: string\n  ) {\n    this.httpClient = axios.create({\n      baseURL: apiBaseUrl,\n      timeout: 30000\n    });\n  }\n\n  private async ensureToken(): Promise\u003Cstring> {\n    if (this.token && this.tokenExpiry && this.tokenExpiry > new Date()) {\n      return this.token;\n    }\n\n    const response = await axios.post(`${this.hubUrl}\u002Foauth\u002Ftoken`,\n      new URLSearchParams({\n        grant_type: 'client_credentials',\n        client_id: this.clientId,\n        client_secret: this.clientSecret\n      })\n    );\n\n    this.token = response.data.access_token;\n    this.tokenExpiry = new Date(Date.now() + (response.data.expires_in - 60) * 1000);\n    return this.token;\n  }\n\n  async request\u003CT>(method: string, path: string, data?: any): Promise\u003CT> {\n    const token = await this.ensureToken();\n    const response = await this.httpClient.request\u003CT>({\n      method,\n      url: path,\n      data,\n      headers: {\n        'Authorization': `Bearer ${token}`,\n        'Content-Type': 'application\u002Fjson'\n      }\n    });\n    return response.data;\n  }\n}\n\n\u002F\u002F Usage\nconst client = new GuidewireClient(\n  process.env.GW_CLIENT_ID!,\n  process.env.GW_CLIENT_SECRET!,\n  process.env.GW_HUB_URL!,\n  process.env.POLICYCENTER_URL!\n);\n```\n\n## Resources\n\n- [Guidewire Developer Portal](https:\u002F\u002Fdeveloper.guidewire.com\u002F)\n- [Cloud API Authentication](https:\u002F\u002Fdocs.guidewire.com\u002Feducation\u002Fcloud-integration-basics\u002Flatest\u002Fdocs\u002Fauthentication\u002Fcloud_api_auth\u002F)\n- [Guidewire Hub Registration](https:\u002F\u002Fdocs.guidewire.com\u002Fcloud\u002Fpc\u002F202503\u002Fcloudapica\u002FcloudAPI\u002Ftopics\u002F702-AuthFlows\u002F)\n- [Guidewire Cloud Console](https:\u002F\u002Fgcc.guidewire.com\u002F)\n\n## Next Steps\n\nAfter successful auth, proceed to `guidewire-hello-world` for your first API calls.\n",{"name":5,"author":57,"license":15,"version":58,"description":59,"allowed-tools":60},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Install and configure Guidewire InsuranceSuite development environment and Cloud API authentication.\nUse when setting up a new Guidewire integration, configuring OAuth2 credentials,\nregistering with Guidewire Hub, or initializing Guidewire Studio.\nTrigger with phrases like \"install guidewire\", \"setup guidewire\",\n\"guidewire auth\", \"configure guidewire API\", \"guidewire cloud credentials\".\n","Read, Write, Edit, Bash(java:*), Bash(gradle:*), Bash(npm:*), Grep","main","90b50ed0778745a80fd5bfb13b1843d45b9e82f7","tests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fguidewire-pack\u002Fskills\u002Fguidewire-install-auth",234,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust","https:\u002F\u002Fgithub.com\u002FDicklesworthstone","https:\u002F\u002Fwww.jeffreyemanuel.com\u002F","Building in NY","2026-11-13 11:50:27",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add Dicklesworthstone\u002Fpi_agent_rust --skill guidewire-install-auth",{"tool":76,"command":77},"bunx","bunx skills add Dicklesworthstone\u002Fpi_agent_rust --skill guidewire-install-auth",{"tool":79,"command":80},"pnpm","pnpm dlx skills add Dicklesworthstone\u002Fpi_agent_rust --skill guidewire-install-auth","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fguidewire-pack\u002Fskills\u002Fguidewire-install-auth\u002FSKILL.md",true,[],[85,123,148,174,200,221],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":90,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":52},"01M6FEGPPK0ZTKCCM0R3E3KS33","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,41,115,116,117,118,119,120,121,122],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","component","routing","state management","state","shadcn","file","ui","Tools","Tailwind","html","single-file","simple","ui components","multi","for","jsx","suite",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":127,"sourceHtmlUrl":128,"categories":129,"keywords":134,"publishedAt":52},"01M6FEE9VTK1W4GY21AKREJXRG","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[130,133],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},[135,136,137,102,138,139,98,140,141,142,112,143,144,145,146,147,120],"testing","webapp testing","webapp","screenshots","playwright","debugging","toolkit","browser","logs","applications","behavior","local","with",{"skillNo":149,"name":150,"nameZh":6,"description":151,"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":52},"01M6FE20F7ZTQBFWKF4MPJ2SBX","neuropixels-analysis","Neuropixels neural recording analysis. Load SpikeGLX\u002FOpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen\u002FIBL curation, AI-assisted visual analysis, for Neuropixels 1.0\u002F2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FSKILL.md",[],[156,157,158,159,160,161,162,163,41,164,165,166,167,168,169,170,147,171,172,173,120,34],"analysis","neuropixels analysis","spike","metrics","data","open","quality","user","recordings","Neural","motion","visual","quality metrics","unit","sorting","curation","recording","load",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":178,"sourceHtmlUrl":179,"categories":180,"keywords":184,"publishedAt":52},"01M6FDP0PDK6F1GGX395C7625Z","skill-creator","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FSKILL.md",[181],{"categoryNo":182,"categoryName":183,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[185,186,187,188,189,190,191,192,193,194,195,196,197,198,147,120,199,34,33],"skill creator","creator","workflows","create","update","capabilities","knowledge","tool","integrations","specialized","guide","new skill","existing skill","users","Existing",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":204,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":52},"01M6FDM8Y7VK7NYG9SM7QPA3PW","notebooklm","Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FSKILL.md",[207],{"categoryNo":182,"categoryName":183,"taxonomyType":21,"taxonomyTypeDesc":22},[202,209,210,211,212,30,213,142,214,215,41,216,217,218,219,120,220],"google","browser automation","gemini","automation","code","library","management","only","document","query","Citation","source",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":225,"sourceHtmlUrl":226,"categories":227,"keywords":234,"publishedAt":52},"01M6FDHPXE10J3XGTCH5HBHS1M","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FSKILL.md",[228,231],{"categoryNo":229,"categoryName":230,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":232,"categoryName":233,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[235,236,237,186,238,113,239,240,191,41,241,198,242,243,244,120,245,34],"slack gif creator","slack","gif","validation","constraints","Animation","me","make","Utilities","concepts","request"]