[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M794BXFSZ2MPNP0E8R7QWRF7":3,"skill-same:01M794BXFSZ2MPNP0E8R7QWRF7":57},{"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":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M794BXFSZ2MPNP0E8R7QWRF7","perplexity-hello-world",null,"Create a minimal working Perplexity Sonar search example with citations.\nUse when starting a new Perplexity integration, testing your setup,\nor learning basic search-with-citations patterns.\nTrigger with phrases like \"perplexity hello world\", \"perplexity example\",\n\"perplexity quick start\", \"simple perplexity search\".","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--perplexity-pack--perplexity-hello-world\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: perplexity-hello-world\ndescription: |\n  Create a minimal working Perplexity Sonar search example with citations.\n  Use when starting a new Perplexity integration, testing your setup,\n  or learning basic search-with-citations patterns.\n  Trigger with phrases like \"perplexity hello world\", \"perplexity example\",\n  \"perplexity quick start\", \"simple perplexity search\".\nallowed-tools: Read, Write, Edit\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\ntags: [saas, perplexity, api, testing]\n---\n# Perplexity Hello World\n\n## Overview\nMinimal working example demonstrating Perplexity's core value: web-grounded answers with citations. Unlike standard LLMs, Perplexity searches the web for every query and returns cited sources.\n\n## Prerequisites\n- Completed `perplexity-install-auth` setup\n- `openai` package installed\n- `PERPLEXITY_API_KEY` environment variable set\n\n## Instructions\n\n### Step 1: Basic Search with Citations (TypeScript)\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.PERPLEXITY_API_KEY,\n  baseURL: \"https:\u002F\u002Fapi.perplexity.ai\",\n});\n\nasync function main() {\n  const response = await client.chat.completions.create({\n    model: \"sonar\",\n    messages: [\n      {\n        role: \"system\",\n        content: \"Be precise and cite your sources.\",\n      },\n      {\n        role: \"user\",\n        content: \"What are the latest features in Node.js 22?\",\n      },\n    ],\n  });\n\n  const answer = response.choices[0].message.content;\n  console.log(\"Answer:\", answer);\n\n  \u002F\u002F Citations are returned as a top-level array on the response\n  const citations = (response as any).citations || [];\n  console.log(\"\\nSources:\");\n  citations.forEach((url: string, i: number) => {\n    console.log(`  [${i + 1}] ${url}`);\n  });\n\n  \u002F\u002F Usage breakdown\n  console.log(\"\\nUsage:\", {\n    prompt_tokens: response.usage?.prompt_tokens,\n    completion_tokens: response.usage?.completion_tokens,\n    total_tokens: response.usage?.total_tokens,\n  });\n}\n\nmain().catch(console.error);\n```\n\n### Step 2: Basic Search with Citations (Python)\n```python\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"PERPLEXITY_API_KEY\"],\n    base_url=\"https:\u002F\u002Fapi.perplexity.ai\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"sonar\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"Be precise and cite your sources.\"},\n        {\"role\": \"user\", \"content\": \"What are the latest features in Node.js 22?\"},\n    ],\n)\n\nanswer = response.choices[0].message.content\nprint(\"Answer:\", answer)\n\n# Citations from the raw response\nraw = response.model_dump()\ncitations = raw.get(\"citations\", [])\nprint(\"\\nSources:\")\nfor i, url in enumerate(citations, 1):\n    print(f\"  [{i}] {url}\")\n\nprint(f\"\\nTokens: {response.usage.total_tokens}\")\n```\n\n### Step 3: Search with Domain Filter\n```typescript\n\u002F\u002F Restrict search to specific domains\nconst response = await client.chat.completions.create({\n  model: \"sonar\",\n  messages: [\n    { role: \"user\", content: \"What is the latest Python release?\" },\n  ],\n  \u002F\u002F Perplexity-specific parameters (pass as extra body)\n  search_domain_filter: [\"python.org\", \"docs.python.org\"],\n  search_recency_filter: \"month\",\n} as any);\n```\n\n### Step 4: Streaming Search\n```typescript\nconst stream = await client.chat.completions.create({\n  model: \"sonar\",\n  messages: [\n    { role: \"user\", content: \"Explain quantum computing breakthroughs in 2025\" },\n  ],\n  stream: true,\n});\n\nfor await (const chunk of stream) {\n  const text = chunk.choices[0]?.delta?.content || \"\";\n  process.stdout.write(text);\n\n  \u002F\u002F Citations arrive in the final chunk\n  if ((chunk as any).citations) {\n    console.log(\"\\n\\nSources:\", (chunk as any).citations);\n  }\n}\n```\n\n## Output\n- Working search query returning a web-grounded answer\n- Parsed citation URLs from the response\n- Token usage stats confirming billing\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API key | Verify key at perplexity.ai\u002Fsettings\u002Fapi |\n| Empty citations array | Query too abstract | Ask a specific, factual question |\n| `429 Too Many Requests` | Rate limit exceeded | Wait and retry with backoff |\n| Timeout | Complex search query | Use `sonar` instead of `sonar-pro` |\n\n## Resources\n- [Perplexity API Reference](https:\u002F\u002Fdocs.perplexity.ai\u002Fapi-reference\u002Fchat-completions-post)\n- [Search Parameters](https:\u002F\u002Fdocs.perplexity.ai\u002Fdocs\u002Fsonar\u002Fquickstart)\n- [Model Cards](https:\u002F\u002Fdocs.perplexity.ai\u002Fgetting-started\u002Fmodels)\n\n## Next Steps\nProceed to `perplexity-local-dev-loop` for development workflow setup.\n","# Perplexity Hello World\n\n## Overview\nMinimal working example demonstrating Perplexity's core value: web-grounded answers with citations. Unlike standard LLMs, Perplexity searches the web for every query and returns cited sources.\n\n## Prerequisites\n- Completed `perplexity-install-auth` setup\n- `openai` package installed\n- `PERPLEXITY_API_KEY` environment variable set\n\n## Instructions\n\n### Step 1: Basic Search with Citations (TypeScript)\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.PERPLEXITY_API_KEY,\n  baseURL: \"https:\u002F\u002Fapi.perplexity.ai\",\n});\n\nasync function main() {\n  const response = await client.chat.completions.create({\n    model: \"sonar\",\n    messages: [\n      {\n        role: \"system\",\n        content: \"Be precise and cite your sources.\",\n      },\n      {\n        role: \"user\",\n        content: \"What are the latest features in Node.js 22?\",\n      },\n    ],\n  });\n\n  const answer = response.choices[0].message.content;\n  console.log(\"Answer:\", answer);\n\n  \u002F\u002F Citations are returned as a top-level array on the response\n  const citations = (response as any).citations || [];\n  console.log(\"\\nSources:\");\n  citations.forEach((url: string, i: number) => {\n    console.log(`  [${i + 1}] ${url}`);\n  });\n\n  \u002F\u002F Usage breakdown\n  console.log(\"\\nUsage:\", {\n    prompt_tokens: response.usage?.prompt_tokens,\n    completion_tokens: response.usage?.completion_tokens,\n    total_tokens: response.usage?.total_tokens,\n  });\n}\n\nmain().catch(console.error);\n```\n\n### Step 2: Basic Search with Citations (Python)\n```python\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"PERPLEXITY_API_KEY\"],\n    base_url=\"https:\u002F\u002Fapi.perplexity.ai\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"sonar\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"Be precise and cite your sources.\"},\n        {\"role\": \"user\", \"content\": \"What are the latest features in Node.js 22?\"},\n    ],\n)\n\nanswer = response.choices[0].message.content\nprint(\"Answer:\", answer)\n\n# Citations from the raw response\nraw = response.model_dump()\ncitations = raw.get(\"citations\", [])\nprint(\"\\nSources:\")\nfor i, url in enumerate(citations, 1):\n    print(f\"  [{i}] {url}\")\n\nprint(f\"\\nTokens: {response.usage.total_tokens}\")\n```\n\n### Step 3: Search with Domain Filter\n```typescript\n\u002F\u002F Restrict search to specific domains\nconst response = await client.chat.completions.create({\n  model: \"sonar\",\n  messages: [\n    { role: \"user\", content: \"What is the latest Python release?\" },\n  ],\n  \u002F\u002F Perplexity-specific parameters (pass as extra body)\n  search_domain_filter: [\"python.org\", \"docs.python.org\"],\n  search_recency_filter: \"month\",\n} as any);\n```\n\n### Step 4: Streaming Search\n```typescript\nconst stream = await client.chat.completions.create({\n  model: \"sonar\",\n  messages: [\n    { role: \"user\", content: \"Explain quantum computing breakthroughs in 2025\" },\n  ],\n  stream: true,\n});\n\nfor await (const chunk of stream) {\n  const text = chunk.choices[0]?.delta?.content || \"\";\n  process.stdout.write(text);\n\n  \u002F\u002F Citations arrive in the final chunk\n  if ((chunk as any).citations) {\n    console.log(\"\\n\\nSources:\", (chunk as any).citations);\n  }\n}\n```\n\n## Output\n- Working search query returning a web-grounded answer\n- Parsed citation URLs from the response\n- Token usage stats confirming billing\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API key | Verify key at perplexity.ai\u002Fsettings\u002Fapi |\n| Empty citations array | Query too abstract | Ask a specific, factual question |\n| `429 Too Many Requests` | Rate limit exceeded | Wait and retry with backoff |\n| Timeout | Complex search query | Use `sonar` instead of `sonar-pro` |\n\n## Resources\n- [Perplexity API Reference](https:\u002F\u002Fdocs.perplexity.ai\u002Fapi-reference\u002Fchat-completions-post)\n- [Search Parameters](https:\u002F\u002Fdocs.perplexity.ai\u002Fdocs\u002Fsonar\u002Fquickstart)\n- [Model Cards](https:\u002F\u002Fdocs.perplexity.ai\u002Fgetting-started\u002Fmodels)\n\n## Next Steps\nProceed to `perplexity-local-dev-loop` for development workflow setup.\n",{"name":5,"tags":24,"author":29,"license":15,"version":30,"description":31,"allowed-tools":32,"compatible-with":33},[25,26,27,28],"saas","perplexity","api","testing","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Create a minimal working Perplexity Sonar search example with citations.\nUse when starting a new Perplexity integration, testing your setup,\nor learning basic search-with-citations patterns.\nTrigger with phrases like \"perplexity hello world\", \"perplexity example\",\n\"perplexity quick start\", \"simple perplexity search\".\n","Read, Write, Edit","claude-code, codex, openclaw","main","99825ad3f3bcc6597ddcc7294a14e6e922f2b67b","skills\u002Fsaas-packs--perplexity-pack--perplexity-hello-world",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":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add jukeyman\u002Fjukeyman-skills --skill perplexity-hello-world",{"tool":49,"command":50},"bunx","bunx skills add jukeyman\u002Fjukeyman-skills --skill perplexity-hello-world",{"tool":52,"command":53},"pnpm","pnpm dlx skills add jukeyman\u002Fjukeyman-skills --skill perplexity-hello-world","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsaas-packs--perplexity-pack--perplexity-hello-world\u002FSKILL.md",true,[],[58,65,72,79,86,94],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"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":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":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":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":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":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":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":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":90,"sourceHtmlUrl":91,"categories":92,"keywords":93,"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":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"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",[],[]]