[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H8ETXWFFYYR7Q0TFTQM01A":3,"skill-same:01M6H8ETXWFFYYR7Q0TFTQM01A":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6H8ETXWFFYYR7Q0TFTQM01A","perplexity-reference-architecture",null,"Implement Perplexity reference architecture with best-practice project layout.\nUse when designing new Perplexity integrations, reviewing project structure,\nor establishing architecture standards for Perplexity applications.\nTrigger with phrases like \"perplexity architecture\", \"perplexity best practices\",\n\"perplexity project structure\", \"how to organize perplexity\", \"perplexity layout\".","micsapp\u002Fmicstec-skills","micsapp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F82411001?v=4","01M6GWCFQ6D3PV8EHNY62NN5VW","01M6GWCFVE1PA5HG0DKC7AMFJ3",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fperplexity-pack\u002Fskills\u002Fperplexity-reference-architecture\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"architecture","perplexity reference architecture","perplexity","reference","for","openclaw","how to","trigger","io","layout","project","structure","organize","standards","read","integrations","how","applications","code","project structure","2026-11-10 10:12:30",false,"---\nname: perplexity-reference-architecture\ndescription: |\n  Implement Perplexity reference architecture with best-practice project layout.\n  Use when designing new Perplexity integrations, reviewing project structure,\n  or establishing architecture standards for Perplexity applications.\n  Trigger with phrases like \"perplexity architecture\", \"perplexity best practices\",\n  \"perplexity project structure\", \"how to organize perplexity\", \"perplexity layout\".\nallowed-tools: Read, Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# Perplexity Reference Architecture\n\n## Contents\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Instructions](#instructions)\n- [Output](#output)\n- [Error Handling](#error-handling)\n- [Examples](#examples)\n- [Resources](#resources)\n\n## Overview\nProduction architecture for AI-powered research and search with Perplexity Sonar API. Covers model routing for cost\u002Fquality tradeoffs, citation extraction, multi-query research pipelines, and conversational search.\n\n## Prerequisites\n- Perplexity API key (Sonar access)\n- OpenAI-compatible client library\n- Understanding of search models (sonar, sonar-pro, sonar-reasoning)\n\n## Architecture\n\n```\nApplication Layer (Research Agent, Fact Checker, Content Writer)\n        |\nSearch Router (sonar\u002Fsonar-pro\u002Fsonar-reasoning)\n        |\nCitation Pipeline (Extract URLs, Validate, Store, Render)\n        |\nCache Layer (Query Hash -> Result, TTL by freshness need)\n```\n\n## Instructions\n\n### Step 1: Set Up Search Service with Model Routing\nUse OpenAI-compatible client pointed at `api.perplexity.ai`. Route queries by depth: quick\u002Fstandard (sonar), deep (sonar-pro), reasoning (sonar-reasoning).\n\n### Step 2: Build Citation Extraction Pipeline\nParse response text for `[N] URL` patterns and inline URLs. Deduplicate and store citations with metadata.\n\n### Step 3: Create Research Pipeline\nMulti-phase: broad overview (fast model) -> identify subtopics -> deep dive each (sonar-pro) -> deduplicate citations.\n\n### Step 4: Implement Conversational Search\nMaintain message history for follow-up questions that build on previous context.\n\nSee [detailed implementation](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for search service, citation extraction, multi-query research pipeline, conversational session, and fact-check service code.\n\n## Output\n- Search service with model routing by query depth\n- Citation extraction from responses\n- Multi-query research pipeline\n- Conversational search with context\n\n## Error Handling\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| No citations returned | Using basic sonar for complex query | Upgrade to sonar-pro |\n| Stale information | Outdated sources | Add recency preference in system prompt |\n| High cost | Using sonar-pro for simple queries | Route simple queries to sonar |\n| Rate limit | Too many concurrent searches | Add request queue with delays |\n\n## Examples\n\n### Quick Fact Check\n```typescript\nconst result = await factCheck(\"The Earth is approximately 4.5 billion years old\");\nconsole.log(result.verdict);  \u002F\u002F Accurate, with sources\nconsole.log(result.sources);  \u002F\u002F Citation URLs\n```\n\n## Resources\n- [Perplexity API Docs](https:\u002F\u002Fdocs.perplexity.ai\u002F)\n- [Perplexity Model Guide](https:\u002F\u002Fdocs.perplexity.ai\u002Fguides\u002Fmodel-cards)","# Perplexity Reference Architecture\n\n## Contents\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Instructions](#instructions)\n- [Output](#output)\n- [Error Handling](#error-handling)\n- [Examples](#examples)\n- [Resources](#resources)\n\n## Overview\nProduction architecture for AI-powered research and search with Perplexity Sonar API. Covers model routing for cost\u002Fquality tradeoffs, citation extraction, multi-query research pipelines, and conversational search.\n\n## Prerequisites\n- Perplexity API key (Sonar access)\n- OpenAI-compatible client library\n- Understanding of search models (sonar, sonar-pro, sonar-reasoning)\n\n## Architecture\n\n```\nApplication Layer (Research Agent, Fact Checker, Content Writer)\n        |\nSearch Router (sonar\u002Fsonar-pro\u002Fsonar-reasoning)\n        |\nCitation Pipeline (Extract URLs, Validate, Store, Render)\n        |\nCache Layer (Query Hash -> Result, TTL by freshness need)\n```\n\n## Instructions\n\n### Step 1: Set Up Search Service with Model Routing\nUse OpenAI-compatible client pointed at `api.perplexity.ai`. Route queries by depth: quick\u002Fstandard (sonar), deep (sonar-pro), reasoning (sonar-reasoning).\n\n### Step 2: Build Citation Extraction Pipeline\nParse response text for `[N] URL` patterns and inline URLs. Deduplicate and store citations with metadata.\n\n### Step 3: Create Research Pipeline\nMulti-phase: broad overview (fast model) -> identify subtopics -> deep dive each (sonar-pro) -> deduplicate citations.\n\n### Step 4: Implement Conversational Search\nMaintain message history for follow-up questions that build on previous context.\n\nSee [detailed implementation](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for search service, citation extraction, multi-query research pipeline, conversational session, and fact-check service code.\n\n## Output\n- Search service with model routing by query depth\n- Citation extraction from responses\n- Multi-query research pipeline\n- Conversational search with context\n\n## Error Handling\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| No citations returned | Using basic sonar for complex query | Upgrade to sonar-pro |\n| Stale information | Outdated sources | Add recency preference in system prompt |\n| High cost | Using sonar-pro for simple queries | Route simple queries to sonar |\n| Rate limit | Too many concurrent searches | Add request queue with delays |\n\n## Examples\n\n### Quick Fact Check\n```typescript\nconst result = await factCheck(\"The Earth is approximately 4.5 billion years old\");\nconsole.log(result.verdict);  \u002F\u002F Accurate, with sources\nconsole.log(result.sources);  \u002F\u002F Citation URLs\n```\n\n## Resources\n- [Perplexity API Docs](https:\u002F\u002Fdocs.perplexity.ai\u002F)\n- [Perplexity Model Guide](https:\u002F\u002Fdocs.perplexity.ai\u002Fguides\u002Fmodel-cards)",{"name":5,"author":43,"license":14,"version":44,"description":45,"allowed-tools":46,"compatible-with":47},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Implement Perplexity reference architecture with best-practice project layout.\nUse when designing new Perplexity integrations, reviewing project structure,\nor establishing architecture standards for Perplexity applications.\nTrigger with phrases like \"perplexity architecture\", \"perplexity best practices\",\n\"perplexity project structure\", \"how to organize perplexity\", \"perplexity layout\".\n","Read, Grep","claude-code, codex, openclaw","master","3f5d983eb4ef375b749adcd6b07ec03bd82ae8a8","claude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fperplexity-pack\u002Fskills\u002Fperplexity-reference-architecture",0,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills","https:\u002F\u002Fgithub.com\u002Fmicsapp","2026-03-20 11:24:18",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add micsapp\u002Fmicstec-skills --skill perplexity-reference-architecture",{"tool":61,"command":62},"bunx","bunx skills add micsapp\u002Fmicstec-skills --skill perplexity-reference-architecture",{"tool":64,"command":65},"pnpm","pnpm dlx skills add micsapp\u002Fmicstec-skills --skill perplexity-reference-architecture","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fperplexity-pack\u002Fskills\u002Fperplexity-reference-architecture\u002FSKILL.md",true,[69],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fimplementation.md","REFERENCE","参考文档",3804,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fperplexity-pack\u002Fskills\u002Fperplexity-reference-architecture\u002Freferences\u002Fimplementation.md",[76,111,140,161,181,205],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":92,"publishedAt":38},"01M6HBTJ02FXBFG9NYEHHYAP52","azure-apim-architecture","Analyzes and explains Azure API Management architecture decisions for enterprise API marketplace implementations using VNet Internal mode, Front Door, hybrid authentication, and multi-environment strategies. Use when discussing APIM component selection, network topology, cost optimization, or comparing alternatives like workspaces vs instances, VNet Internal vs External mode, or Front Door vs Application Gateway.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fazure-apim-architecture\u002FSKILL.md",[82,87],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[18,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,22],"azure","azure apim architecture","component","authentication","gateway","topology","Optimization","network","api","team","environment","multi-environment","workspaces","instances","selection","strategies","azure api management","mode",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":125,"publishedAt":38},"01M6HBT7J4H082JEEA670B3EQ9","apiops-deployment","Guides deployment of Azure API Management infrastructure using Infrastructure as Code (Bicep\u002FTerraform), CI\u002FCD pipelines (GitHub Actions\u002FAzure DevOps), and APIOps workflows. Use when deploying APIM, creating pipelines, or implementing dev→test→prod promotion strategies.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapiops-deployment\u002FSKILL.md",[117,118,121,124],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},{"categoryNo":119,"categoryName":120,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":122,"categoryName":123,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},[126,127,128,129,93,130,36,131,132,133,134,135,101,102,108,136,137,109,138,139],"deployment","apiops deployment","workflows","azure devops","infrastructure","infrastructure as code","actions","ci","github actions","github-actions","as","guides","CI\u002FCD","implementing",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":38},"01M6HBT2HEA23THNE9E00GYQBE","apim-policy-authoring","Creates production-ready Azure API Management policy XML for authentication (OAuth 2.0, JWT validation, subscription keys), rate limiting, CORS configuration, error handling, and API transformations. Use when implementing API security, access control, or request\u002Fresponse processing logic.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapim-policy-authoring\u002FSKILL.md",[146],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[148,149,150,151,93,96,101,102,152,153,154,155,156,157,158,109,159,160,139,22],"policy","authoring","apim policy authoring","security","access","use","ready","api security","Access Control","error","processing","cors configuration","production-ready",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":169,"publishedAt":38},"01M6HBSY65SB29J9WE9KYD0K6T","api-security-review","Reviews Azure API Management configurations for security vulnerabilities, OWASP API Security Top 10 compliance, VNet Internal mode validation, Private Link verification, and Azure Security Benchmark alignment. Use when performing security audits, pre-deployment validation, or compliance reviews.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapi-security-review\u002FSKILL.md",[167,168],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},[170,151,171,101,155,172,93,126,173,174,175,176,102,177,109,178,179,180,110,22],"review","security review","api security review","benchmark","verification","owasp","owasp-api","alignment","azure security","reviews","top",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":38},"01M6HBSRW4PDFE6K4F8JYPZQ05","jira-cli","Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows. Use when the user asks about Jira tasks, tickets, issues, sprints, or needs to manage project work items.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fjira-cli\u002FSKILL.md",[],[188,189,190,128,191,192,193,194,101,195,196,197,198,199,200,28,201,202,203,204],"cli","jira","jira cli","init","tasks","create","issues","common","work","command","edit","list","view","project work","token","line","sprints",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":211,"publishedAt":38},"01M6HBSNS3JHMW603G47TWE31H","calculator","Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fcalculator\u002FSKILL.md",[],[207,212,213,214,215,216,217,153,218,219],"npm","js","calculate","node","math","user","compute","errors"]