[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7911HQ3KYVZ95WY56HH217X":3,"skill-same:01M7911HQ3KYVZ95WY56HH217X":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},"01M7911HQ3KYVZ95WY56HH217X","groq-core-workflow-a",null,"Execute Groq primary workflow: chat completions with tool use and JSON mode.\nUse when implementing chat interfaces, function calling, structured output,\nor building AI features with Groq's fast inference.\nTrigger with phrases like \"groq chat completion\", \"groq tool use\",\n\"groq function calling\", \"groq JSON mode\".","jukeyman\u002Fjukeyman-skills","jukeyman","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F142960420?v=4","01M78FR4Y3DHMMCBCC0GXXNB3F","RICK JEFFERSON","01M78FR4Z8RVQRAD31Y5J7V6EB",1,"MIT","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsaas-packs--groq-pack--groq-core-workflow-a\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: groq-core-workflow-a\ndescription: |\n  Execute Groq primary workflow: chat completions with tool use and JSON mode.\n  Use when implementing chat interfaces, function calling, structured output,\n  or building AI features with Groq's fast inference.\n  Trigger with phrases like \"groq chat completion\", \"groq tool use\",\n  \"groq function calling\", \"groq JSON mode\".\nallowed-tools: Read, Write, Edit, Bash(npm:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\ntags: [saas, groq, workflow]\n---\n# Groq Core Workflow A: Chat, Tools & Structured Output\n\n## Overview\nPrimary integration patterns for Groq: chat completions, tool\u002Ffunction calling, JSON mode, and structured outputs. Groq's LPU delivers sub-200ms time-to-first-token, making these patterns viable for real-time user-facing features.\n\n## Prerequisites\n- `groq-sdk` installed, `GROQ_API_KEY` set\n- Understanding of Groq model capabilities\n\n## Model Selection for This Workflow\n\n| Task | Recommended Model | Why |\n|------|------------------|-----|\n| Chat with tools | `llama-3.3-70b-versatile` | Best tool-calling accuracy |\n| JSON extraction | `llama-3.1-8b-instant` | Fast, accurate for structured tasks |\n| Structured outputs | `llama-3.3-70b-versatile` | Supports `strict: true` schema compliance |\n| Vision + chat | `meta-llama\u002Fllama-4-scout-17b-16e-instruct` | Multimodal input |\n\n## Instructions\n\n### Step 1: Chat Completion with System Prompt\n```typescript\nimport Groq from \"groq-sdk\";\n\nconst groq = new Groq();\n\nasync function chat(userMessage: string, history: any[] = []) {\n  const messages = [\n    { role: \"system\" as const, content: \"You are a concise technical assistant.\" },\n    ...history,\n    { role: \"user\" as const, content: userMessage },\n  ];\n\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages,\n    temperature: 0.7,\n    max_tokens: 1024,\n  });\n\n  return {\n    reply: completion.choices[0].message.content,\n    usage: completion.usage,\n  };\n}\n```\n\n### Step 2: Tool Use \u002F Function Calling\n```typescript\n\u002F\u002F Define tools with JSON Schema\nconst tools: Groq.Chat.ChatCompletionTool[] = [\n  {\n    type: \"function\",\n    function: {\n      name: \"get_weather\",\n      description: \"Get current weather for a location\",\n      parameters: {\n        type: \"object\",\n        properties: {\n          location: { type: \"string\", description: \"City name\" },\n          unit: { type: \"string\", enum: [\"celsius\", \"fahrenheit\"] },\n        },\n        required: [\"location\"],\n      },\n    },\n  },\n  {\n    type: \"function\",\n    function: {\n      name: \"search_docs\",\n      description: \"Search internal documentation\",\n      parameters: {\n        type: \"object\",\n        properties: {\n          query: { type: \"string\" },\n          limit: { type: \"number\", description: \"Max results\" },\n        },\n        required: [\"query\"],\n      },\n    },\n  },\n];\n\nasync function chatWithTools(userMessage: string) {\n  \u002F\u002F Step A: Send message with tool definitions\n  const response = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages: [{ role: \"user\", content: userMessage }],\n    tools,\n    tool_choice: \"auto\",\n  });\n\n  const message = response.choices[0].message;\n\n  \u002F\u002F Step B: If model wants to call tools, execute them\n  if (message.tool_calls) {\n    const toolResults = await Promise.all(\n      message.tool_calls.map(async (tc) => {\n        const args = JSON.parse(tc.function.arguments);\n        const result = await executeFunction(tc.function.name, args);\n        return {\n          role: \"tool\" as const,\n          tool_call_id: tc.id,\n          content: JSON.stringify(result),\n        };\n      })\n    );\n\n    \u002F\u002F Step C: Send tool results back for final response\n    const finalResponse = await groq.chat.completions.create({\n      model: \"llama-3.3-70b-versatile\",\n      messages: [\n        { role: \"user\", content: userMessage },\n        message,         \u002F\u002F includes tool_calls\n        ...toolResults,  \u002F\u002F tool execution results\n      ],\n      tools,\n    });\n\n    return finalResponse.choices[0].message.content;\n  }\n\n  return message.content;\n}\n\n\u002F\u002F Implement your actual tool functions\nasync function executeFunction(name: string, args: any): Promise\u003Cany> {\n  switch (name) {\n    case \"get_weather\":\n      return { temperature: 72, conditions: \"sunny\", location: args.location };\n    case \"search_docs\":\n      return { results: [`Doc about ${args.query}`], count: 1 };\n    default:\n      throw new Error(`Unknown function: ${name}`);\n  }\n}\n```\n\n### Step 3: JSON Mode\n```typescript\n\u002F\u002F Force model to return valid JSON\nasync function extractJSON(text: string) {\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.1-8b-instant\",\n    messages: [\n      {\n        role: \"system\",\n        content: \"Extract entities from the text. Respond with JSON: {entities: [{name, type, confidence}]}\",\n      },\n      { role: \"user\", content: text },\n    ],\n    response_format: { type: \"json_object\" },\n    temperature: 0,\n  });\n\n  return JSON.parse(completion.choices[0].message.content!);\n}\n```\n\n### Step 4: Structured Outputs (Strict Schema)\n```typescript\n\u002F\u002F Guaranteed schema compliance -- no validation needed\nasync function extractStructured(text: string) {\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages: [\n      { role: \"system\", content: \"Extract contact information from the text.\" },\n      { role: \"user\", content: text },\n    ],\n    response_format: {\n      type: \"json_schema\",\n      json_schema: {\n        name: \"contact_info\",\n        strict: true,\n        schema: {\n          type: \"object\",\n          properties: {\n            name: { type: \"string\" },\n            email: { type: \"string\" },\n            phone: { type: \"string\" },\n            company: { type: \"string\" },\n          },\n          required: [\"name\", \"email\"],\n          additionalProperties: false,\n        },\n      },\n    },\n  });\n\n  \u002F\u002F With strict: true, output is guaranteed to match schema\n  return JSON.parse(completion.choices[0].message.content!);\n}\n```\n\n**Limitation**: Streaming and tool use are not supported with Structured Outputs. Use non-streaming mode when using `response_format` with `json_schema`.\n\n### Step 5: Multi-Turn Conversation\n```typescript\nclass GroqConversation {\n  private messages: Groq.Chat.ChatCompletionMessageParam[] = [];\n\n  constructor(private systemPrompt: string) {\n    this.messages.push({ role: \"system\", content: systemPrompt });\n  }\n\n  async send(userMessage: string): Promise\u003Cstring> {\n    this.messages.push({ role: \"user\", content: userMessage });\n\n    const completion = await groq.chat.completions.create({\n      model: \"llama-3.3-70b-versatile\",\n      messages: this.messages,\n      max_tokens: 1024,\n    });\n\n    const reply = completion.choices[0].message;\n    this.messages.push(reply);\n    return reply.content || \"\";\n  }\n}\n```\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `tool_calls` with malformed JSON | Model hallucinated arguments | Wrap `JSON.parse` in try\u002Fcatch, retry with lower temperature |\n| `json_object` returns non-JSON | System prompt missing JSON instruction | Always include \"respond with JSON\" in system prompt |\n| `context_length_exceeded` | Conversation too long | Trim older messages, keep system prompt |\n| Tool call loop | Model keeps calling tools | Set `tool_choice: \"none\"` on final completion |\n\n## Resources\n- [Groq Tool Use Docs](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Ftool-use)\n- [Groq Structured Outputs](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fstructured-outputs)\n- [Groq Text Generation](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Ftext-chat)\n\n## Next Steps\nFor audio, vision, and speech workflows, see `groq-core-workflow-b`.\n","# Groq Core Workflow A: Chat, Tools & Structured Output\n\n## Overview\nPrimary integration patterns for Groq: chat completions, tool\u002Ffunction calling, JSON mode, and structured outputs. Groq's LPU delivers sub-200ms time-to-first-token, making these patterns viable for real-time user-facing features.\n\n## Prerequisites\n- `groq-sdk` installed, `GROQ_API_KEY` set\n- Understanding of Groq model capabilities\n\n## Model Selection for This Workflow\n\n| Task | Recommended Model | Why |\n|------|------------------|-----|\n| Chat with tools | `llama-3.3-70b-versatile` | Best tool-calling accuracy |\n| JSON extraction | `llama-3.1-8b-instant` | Fast, accurate for structured tasks |\n| Structured outputs | `llama-3.3-70b-versatile` | Supports `strict: true` schema compliance |\n| Vision + chat | `meta-llama\u002Fllama-4-scout-17b-16e-instruct` | Multimodal input |\n\n## Instructions\n\n### Step 1: Chat Completion with System Prompt\n```typescript\nimport Groq from \"groq-sdk\";\n\nconst groq = new Groq();\n\nasync function chat(userMessage: string, history: any[] = []) {\n  const messages = [\n    { role: \"system\" as const, content: \"You are a concise technical assistant.\" },\n    ...history,\n    { role: \"user\" as const, content: userMessage },\n  ];\n\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages,\n    temperature: 0.7,\n    max_tokens: 1024,\n  });\n\n  return {\n    reply: completion.choices[0].message.content,\n    usage: completion.usage,\n  };\n}\n```\n\n### Step 2: Tool Use \u002F Function Calling\n```typescript\n\u002F\u002F Define tools with JSON Schema\nconst tools: Groq.Chat.ChatCompletionTool[] = [\n  {\n    type: \"function\",\n    function: {\n      name: \"get_weather\",\n      description: \"Get current weather for a location\",\n      parameters: {\n        type: \"object\",\n        properties: {\n          location: { type: \"string\", description: \"City name\" },\n          unit: { type: \"string\", enum: [\"celsius\", \"fahrenheit\"] },\n        },\n        required: [\"location\"],\n      },\n    },\n  },\n  {\n    type: \"function\",\n    function: {\n      name: \"search_docs\",\n      description: \"Search internal documentation\",\n      parameters: {\n        type: \"object\",\n        properties: {\n          query: { type: \"string\" },\n          limit: { type: \"number\", description: \"Max results\" },\n        },\n        required: [\"query\"],\n      },\n    },\n  },\n];\n\nasync function chatWithTools(userMessage: string) {\n  \u002F\u002F Step A: Send message with tool definitions\n  const response = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages: [{ role: \"user\", content: userMessage }],\n    tools,\n    tool_choice: \"auto\",\n  });\n\n  const message = response.choices[0].message;\n\n  \u002F\u002F Step B: If model wants to call tools, execute them\n  if (message.tool_calls) {\n    const toolResults = await Promise.all(\n      message.tool_calls.map(async (tc) => {\n        const args = JSON.parse(tc.function.arguments);\n        const result = await executeFunction(tc.function.name, args);\n        return {\n          role: \"tool\" as const,\n          tool_call_id: tc.id,\n          content: JSON.stringify(result),\n        };\n      })\n    );\n\n    \u002F\u002F Step C: Send tool results back for final response\n    const finalResponse = await groq.chat.completions.create({\n      model: \"llama-3.3-70b-versatile\",\n      messages: [\n        { role: \"user\", content: userMessage },\n        message,         \u002F\u002F includes tool_calls\n        ...toolResults,  \u002F\u002F tool execution results\n      ],\n      tools,\n    });\n\n    return finalResponse.choices[0].message.content;\n  }\n\n  return message.content;\n}\n\n\u002F\u002F Implement your actual tool functions\nasync function executeFunction(name: string, args: any): Promise\u003Cany> {\n  switch (name) {\n    case \"get_weather\":\n      return { temperature: 72, conditions: \"sunny\", location: args.location };\n    case \"search_docs\":\n      return { results: [`Doc about ${args.query}`], count: 1 };\n    default:\n      throw new Error(`Unknown function: ${name}`);\n  }\n}\n```\n\n### Step 3: JSON Mode\n```typescript\n\u002F\u002F Force model to return valid JSON\nasync function extractJSON(text: string) {\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.1-8b-instant\",\n    messages: [\n      {\n        role: \"system\",\n        content: \"Extract entities from the text. Respond with JSON: {entities: [{name, type, confidence}]}\",\n      },\n      { role: \"user\", content: text },\n    ],\n    response_format: { type: \"json_object\" },\n    temperature: 0,\n  });\n\n  return JSON.parse(completion.choices[0].message.content!);\n}\n```\n\n### Step 4: Structured Outputs (Strict Schema)\n```typescript\n\u002F\u002F Guaranteed schema compliance -- no validation needed\nasync function extractStructured(text: string) {\n  const completion = await groq.chat.completions.create({\n    model: \"llama-3.3-70b-versatile\",\n    messages: [\n      { role: \"system\", content: \"Extract contact information from the text.\" },\n      { role: \"user\", content: text },\n    ],\n    response_format: {\n      type: \"json_schema\",\n      json_schema: {\n        name: \"contact_info\",\n        strict: true,\n        schema: {\n          type: \"object\",\n          properties: {\n            name: { type: \"string\" },\n            email: { type: \"string\" },\n            phone: { type: \"string\" },\n            company: { type: \"string\" },\n          },\n          required: [\"name\", \"email\"],\n          additionalProperties: false,\n        },\n      },\n    },\n  });\n\n  \u002F\u002F With strict: true, output is guaranteed to match schema\n  return JSON.parse(completion.choices[0].message.content!);\n}\n```\n\n**Limitation**: Streaming and tool use are not supported with Structured Outputs. Use non-streaming mode when using `response_format` with `json_schema`.\n\n### Step 5: Multi-Turn Conversation\n```typescript\nclass GroqConversation {\n  private messages: Groq.Chat.ChatCompletionMessageParam[] = [];\n\n  constructor(private systemPrompt: string) {\n    this.messages.push({ role: \"system\", content: systemPrompt });\n  }\n\n  async send(userMessage: string): Promise\u003Cstring> {\n    this.messages.push({ role: \"user\", content: userMessage });\n\n    const completion = await groq.chat.completions.create({\n      model: \"llama-3.3-70b-versatile\",\n      messages: this.messages,\n      max_tokens: 1024,\n    });\n\n    const reply = completion.choices[0].message;\n    this.messages.push(reply);\n    return reply.content || \"\";\n  }\n}\n```\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `tool_calls` with malformed JSON | Model hallucinated arguments | Wrap `JSON.parse` in try\u002Fcatch, retry with lower temperature |\n| `json_object` returns non-JSON | System prompt missing JSON instruction | Always include \"respond with JSON\" in system prompt |\n| `context_length_exceeded` | Conversation too long | Trim older messages, keep system prompt |\n| Tool call loop | Model keeps calling tools | Set `tool_choice: \"none\"` on final completion |\n\n## Resources\n- [Groq Tool Use Docs](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Ftool-use)\n- [Groq Structured Outputs](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fstructured-outputs)\n- [Groq Text Generation](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Ftext-chat)\n\n## Next Steps\nFor audio, vision, and speech workflows, see `groq-core-workflow-b`.\n",{"name":5,"tags":24,"author":28,"license":15,"version":29,"description":30,"allowed-tools":31,"compatible-with":32},[25,26,27],"saas","groq","workflow","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Execute Groq primary workflow: chat completions with tool use and JSON mode.\nUse when implementing chat interfaces, function calling, structured output,\nor building AI features with Groq's fast inference.\nTrigger with phrases like \"groq chat completion\", \"groq tool use\",\n\"groq function calling\", \"groq JSON mode\".\n","Read, Write, Edit, Bash(npm:*), Grep","claude-code, codex, openclaw","main","99825ad3f3bcc6597ddcc7294a14e6e922f2b67b","skills\u002Fsaas-packs--groq-pack--groq-core-workflow-a",0,"https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills","https:\u002F\u002Fgithub.com\u002Fjukeyman","https:\u002F\u002FRJBUSINESSSOLUTIONS.ORG","Credit and Finance Expert | Developer\r\n\r\nI'm Rick Jefferson, a seasoned credit and finance expert with over a decade of experience in financial literacy,","2026-07-13 07:03:29",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add jukeyman\u002Fjukeyman-skills --skill groq-core-workflow-a",{"tool":48,"command":49},"bunx","bunx skills add jukeyman\u002Fjukeyman-skills --skill groq-core-workflow-a",{"tool":51,"command":52},"pnpm","pnpm dlx skills add jukeyman\u002Fjukeyman-skills --skill groq-core-workflow-a","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsaas-packs--groq-pack--groq-core-workflow-a\u002FSKILL.md",true,[],[57,64,71,78,85,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":19},"01M79ANS2SM329NEP5ZCX106RR","zustand-store-creator","Create zustand store creator operations. Auto-activating skill for Frontend Development.\nTriggers on: zustand store creator, zustand store creator\nPart of the Frontend Development skill category. Use when working with zustand store creator functionality. Trigger with phrases like \"zustand store creator\", \"zustand creator\", \"zustand\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzustand-store-creator\u002FSKILL.md",[],[],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":19},"01M79AMZKP4YDEZ7EHG1Y7PP74","zero-trust-config-helper","Configure with zero trust config helper operations. Auto-activating skill for Security Advanced.\nTriggers on: zero trust config helper, zero trust config helper\nPart of the Security Advanced skill category. Use when configuring systems or services. Trigger with phrases like \"zero trust config helper\", \"zero helper\", \"zero\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzero-trust-config-helper\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M79AMJSBCEJQNBTYNAHYN5HM","zapier-integration-helper","Assist with zapier integration helper operations. Auto-activating skill for Business Automation.\nTriggers on: zapier integration helper, zapier integration helper\nPart of the Business Automation skill category. Use when working with APIs or building integrations. Trigger with phrases like \"zapier integration helper\", \"zapier helper\", \"zapier\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzapier-integration-helper\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M79AHJZGVMARS13VFQYRR1MP","yaml-config-validator","Validate yaml config validator operations. Auto-activating skill for DevOps Basics.\nTriggers on: yaml config validator, yaml config validator\nPart of the DevOps Basics skill category. Use when configuring systems or services. Trigger with phrases like \"yaml config validator\", \"yaml validator\", \"yaml\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyaml-config-validator\u002FSKILL.md",[],[],{"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":15,"licenseFileUrl":89,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":19},"01M79AHGDZRN0020RDQSQDPAM8","xvary-stock-research","Thesis-driven equity analysis from public SEC EDGAR and market data; \u002Fanalyze, \u002Fscore, \u002Fcompare workflows with bundled Python tools (Claude Code, Cursor, Codex).","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxvary-stock-research\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxvary-stock-research\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":19},"01M79AHCYJ9FV9RMHQ24HDRN33","xss-vulnerability-scanner","Scan xss vulnerability scanner operations. Auto-activating skill for Security Fundamentals.\nTriggers on: xss vulnerability scanner, xss vulnerability scanner\nPart of the Security Fundamentals skill category. Use when working with xss vulnerability scanner functionality. Trigger with phrases like \"xss vulnerability scanner\", \"xss scanner\", \"xss\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxss-vulnerability-scanner\u002FSKILL.md",[],[]]