[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RC659N2YM9S7AFDANEX9A7":3,"skill-same:01M6RC659N2YM9S7AFDANEX9A7":108},{"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":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":64,"commitSha":65,"skillDirectory":66,"forksCount":67,"repositoryHtmlUrl":68,"repositoryHomepageUrl":6,"ownerHtmlUrl":69,"ownerBlogUrl":70,"ownerDescription":6,"updatedAt":71,"install":72,"resources":85},"01M6RC659N2YM9S7AFDANEX9A7","rag-architect",null,"Designs and implements production-grade RAG systems by chunking documents, generating embeddings, configuring vector stores, building hybrid search pipelines, applying reranking, and evaluating retrieval quality. Use when building RAG systems, vector databases, or knowledge-grounded AI applications requiring semantic search, document retrieval, context augmentation, similarity search, or embedding-based indexing.","PIXARTSeu\u002FSynapse","PIXARTSeu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F274446381?v=4","01M6RB4XPN9YBZCRY4FVN9PJCT","Pixarts ","01M6RB4XTF8G9KHQEMC21FGDKD",12,"MIT","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"rag","rag architect","architect","knowledge","hybrid","building rag systems","indexing","chunking","knowledge base","expert","context","vector stores","design","monitoring","embeddings","vector","search","semantic search","documents","architecture","2026-11-10 10:12:30",false,"---\nname: rag-architect\ndescription: Designs and implements production-grade RAG systems by chunking documents, generating embeddings, configuring vector stores, building hybrid search pipelines, applying reranking, and evaluating retrieval quality. Use when building RAG systems, vector databases, or knowledge-grounded AI applications requiring semantic search, document retrieval, context augmentation, similarity search, or embedding-based indexing.\nlicense: MIT\nmetadata:\n  author: https:\u002F\u002Fgithub.com\u002FJeffallan\n  version: \"1.1.0\"\n  domain: data-ml\n  triggers: RAG, retrieval-augmented generation, vector search, embeddings, semantic search, vector database, document retrieval, knowledge base, context retrieval, similarity search\n  role: architect\n  scope: system-design\n  output-format: architecture\n  related-skills: python-pro, database-optimizer, monitoring-expert, api-designer\n---\n\n# RAG Architect\n\n## Core Workflow\n\n1. **Requirements Analysis** — Identify retrieval needs, latency constraints, accuracy requirements, and scale\n2. **Vector Store Design** — Select database, schema design, indexing strategy, sharding approach\n3. **Chunking Strategy** — Document splitting, overlap, semantic boundaries, metadata enrichment\n4. **Retrieval Pipeline** — Embedding selection, query transformation, hybrid search, reranking\n5. **Evaluation & Iteration** — Metrics tracking, retrieval debugging, continuous optimization\n\nFor each step, validate before moving on (see checkpoints below).\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Vector Databases | `references\u002Fvector-databases.md` | Comparing Pinecone, Weaviate, Chroma, pgvector, Qdrant |\n| Embedding Models | `references\u002Fembedding-models.md` | Selecting embeddings, fine-tuning, dimension trade-offs |\n| Chunking Strategies | `references\u002Fchunking-strategies.md` | Document splitting, overlap, semantic chunking |\n| Retrieval Optimization | `references\u002Fretrieval-optimization.md` | Hybrid search, reranking, query expansion, filtering |\n| RAG Evaluation | `references\u002Frag-evaluation.md` | Metrics, evaluation frameworks, debugging retrieval |\n\n## Implementation Examples\n\n### 1. Chunking Documents\n\n```python\nfrom langchain.text_splitter import RecursiveCharacterTextSplitter\n\n# Evaluate chunk_size on your domain data — never use 512 blindly\nsplitter = RecursiveCharacterTextSplitter(\n    chunk_size=800,\n    chunk_overlap=100,\n    separators=[\"\\n\\n\", \"\\n\", \". \", \" \"],\n)\n\nchunks = splitter.create_documents(\n    texts=[doc.page_content for doc in raw_docs],\n    metadatas=[{\"source\": doc.metadata[\"source\"], \"timestamp\": doc.metadata.get(\"timestamp\")} for doc in raw_docs],\n)\n```\n\n**Checkpoint:** `assert all(c.metadata.get(\"source\") for c in chunks), \"Missing source metadata\"`\n\n### 2. Generating Embeddings & Indexing\n\n```python\nfrom openai import OpenAI\nimport qdrant_client\nfrom qdrant_client.models import VectorParams, Distance, PointStruct\n\nclient = OpenAI()\nqdrant = qdrant_client.QdrantClient(\"localhost\", port=6333)\n\n# Create collection\nqdrant.recreate_collection(\n    collection_name=\"knowledge_base\",\n    vectors_config=VectorParams(size=1536, distance=Distance.COSINE),\n)\n\ndef embed_chunks(chunks: list[str], model: str = \"text-embedding-3-small\") -> list[list[float]]:\n    response = client.embeddings.create(input=chunks, model=model)\n    return [r.embedding for r in response.data]\n\n# Idempotent upsert with deduplication via deterministic IDs\nimport hashlib, uuid\n\npoints = []\nfor i, chunk in enumerate(chunks):\n    doc_id = str(uuid.UUID(hashlib.md5(chunk.page_content.encode()).hexdigest()))\n    embedding = embed_chunks([chunk.page_content])[0]\n    points.append(PointStruct(id=doc_id, vector=embedding, payload=chunk.metadata))\n\nqdrant.upsert(collection_name=\"knowledge_base\", points=points)\n```\n\n**Checkpoint:** `assert qdrant.count(\"knowledge_base\").count == len(set(p.id for p in points)), \"Deduplication failed\"`\n\n### 3. Hybrid Search (Vector + BM25)\n\n```python\nfrom qdrant_client.models import Filter, FieldCondition, MatchValue, SparseVector\nfrom rank_bm25 import BM25Okapi\n\ndef hybrid_search(query: str, tenant_id: str, top_k: int = 20) -> list:\n    # Dense retrieval\n    query_embedding = embed_chunks([query])[0]\n    tenant_filter = Filter(must=[FieldCondition(key=\"tenant_id\", match=MatchValue(value=tenant_id))])\n    dense_results = qdrant.search(\n        collection_name=\"knowledge_base\",\n        query_vector=query_embedding,\n        query_filter=tenant_filter,\n        limit=top_k,\n    )\n\n    # Sparse retrieval (BM25)\n    corpus = [r.payload.get(\"text\", \"\") for r in dense_results]\n    bm25 = BM25Okapi([doc.split() for doc in corpus])\n    bm25_scores = bm25.get_scores(query.split())\n\n    # Reciprocal Rank Fusion\n    ranked = sorted(\n        zip(dense_results, bm25_scores),\n        key=lambda x: 0.6 * x[0].score + 0.4 * x[1],\n        reverse=True,\n    )\n    return [r for r, _ in ranked[:top_k]]\n```\n\n**Checkpoint:** `assert len(hybrid_search(\"test query\", tenant_id=\"demo\")) > 0, \"Hybrid search returned no results\"`\n\n### 4. Reranking Top-K Results\n\n```python\nimport cohere\n\nco = cohere.Client(\"YOUR_API_KEY\")\n\ndef rerank(query: str, results: list, top_n: int = 5) -> list:\n    docs = [r.payload.get(\"text\", \"\") for r in results]\n    reranked = co.rerank(query=query, documents=docs, top_n=top_n, model=\"rerank-english-v3.0\")\n    return [results[r.index] for r in reranked.results]\n```\n\n### 5. Retrieval Evaluation\n\n```python\n# Run precision@k and recall@k against a labeled evaluation set\n# python evaluate.py --metrics precision@10 recall@10 mrr --collection knowledge_base\n\nfrom ragas import evaluate\nfrom ragas.metrics import context_precision, context_recall, faithfulness, answer_relevancy\nfrom datasets import Dataset\n\neval_dataset = Dataset.from_dict({\n    \"question\": questions,\n    \"contexts\": retrieved_contexts,\n    \"answer\": generated_answers,\n    \"ground_truth\": ground_truth_answers,\n})\n\nresults = evaluate(eval_dataset, metrics=[context_precision, context_recall, faithfulness, answer_relevancy])\nprint(results)\n```\n\n**Checkpoint:** Target `context_precision >= 0.7` and `context_recall >= 0.6` before moving to LLM integration.\n\n## Constraints\n\n### MUST DO\n- Evaluate multiple embedding models on your domain data before committing\n- Implement hybrid search (vector + keyword) for production systems\n- Add metadata filters for multi-tenant or domain-specific retrieval\n- Measure retrieval metrics (precision@k, recall@k, MRR, NDCG)\n- Use reranking for top-k results before passing context to LLM\n- Implement idempotent ingestion with deduplication (deterministic IDs)\n- Monitor retrieval latency and quality over time\n- Version embeddings and plan for model migration\n\n### MUST NOT DO\n- Use default chunk size (512) without evaluation on your domain data\n- Skip metadata enrichment (source, timestamp, section)\n- Ignore retrieval quality metrics in favor of only LLM output quality\n- Store raw documents without preprocessing\u002Fcleaning\n- Use cosine similarity alone for complex multi-domain retrieval\n- Deploy without testing on production-like data volumes\n- Forget to handle edge cases (empty results, malformed docs)\n- Couple the embedding model tightly to application code\n\n## Output Templates\n\nWhen designing RAG architecture, deliver:\n1. System architecture diagram (ingestion + retrieval pipelines)\n2. Vector database selection with trade-off analysis\n3. Chunking strategy with examples and rationale\n4. Retrieval pipeline design (query → results flow)\n5. Evaluation plan with metrics, benchmarks, and pass\u002Ffail thresholds\n","# RAG Architect\n\n## Core Workflow\n\n1. **Requirements Analysis** — Identify retrieval needs, latency constraints, accuracy requirements, and scale\n2. **Vector Store Design** — Select database, schema design, indexing strategy, sharding approach\n3. **Chunking Strategy** — Document splitting, overlap, semantic boundaries, metadata enrichment\n4. **Retrieval Pipeline** — Embedding selection, query transformation, hybrid search, reranking\n5. **Evaluation & Iteration** — Metrics tracking, retrieval debugging, continuous optimization\n\nFor each step, validate before moving on (see checkpoints below).\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Vector Databases | `references\u002Fvector-databases.md` | Comparing Pinecone, Weaviate, Chroma, pgvector, Qdrant |\n| Embedding Models | `references\u002Fembedding-models.md` | Selecting embeddings, fine-tuning, dimension trade-offs |\n| Chunking Strategies | `references\u002Fchunking-strategies.md` | Document splitting, overlap, semantic chunking |\n| Retrieval Optimization | `references\u002Fretrieval-optimization.md` | Hybrid search, reranking, query expansion, filtering |\n| RAG Evaluation | `references\u002Frag-evaluation.md` | Metrics, evaluation frameworks, debugging retrieval |\n\n## Implementation Examples\n\n### 1. Chunking Documents\n\n```python\nfrom langchain.text_splitter import RecursiveCharacterTextSplitter\n\n# Evaluate chunk_size on your domain data — never use 512 blindly\nsplitter = RecursiveCharacterTextSplitter(\n    chunk_size=800,\n    chunk_overlap=100,\n    separators=[\"\\n\\n\", \"\\n\", \". \", \" \"],\n)\n\nchunks = splitter.create_documents(\n    texts=[doc.page_content for doc in raw_docs],\n    metadatas=[{\"source\": doc.metadata[\"source\"], \"timestamp\": doc.metadata.get(\"timestamp\")} for doc in raw_docs],\n)\n```\n\n**Checkpoint:** `assert all(c.metadata.get(\"source\") for c in chunks), \"Missing source metadata\"`\n\n### 2. Generating Embeddings & Indexing\n\n```python\nfrom openai import OpenAI\nimport qdrant_client\nfrom qdrant_client.models import VectorParams, Distance, PointStruct\n\nclient = OpenAI()\nqdrant = qdrant_client.QdrantClient(\"localhost\", port=6333)\n\n# Create collection\nqdrant.recreate_collection(\n    collection_name=\"knowledge_base\",\n    vectors_config=VectorParams(size=1536, distance=Distance.COSINE),\n)\n\ndef embed_chunks(chunks: list[str], model: str = \"text-embedding-3-small\") -> list[list[float]]:\n    response = client.embeddings.create(input=chunks, model=model)\n    return [r.embedding for r in response.data]\n\n# Idempotent upsert with deduplication via deterministic IDs\nimport hashlib, uuid\n\npoints = []\nfor i, chunk in enumerate(chunks):\n    doc_id = str(uuid.UUID(hashlib.md5(chunk.page_content.encode()).hexdigest()))\n    embedding = embed_chunks([chunk.page_content])[0]\n    points.append(PointStruct(id=doc_id, vector=embedding, payload=chunk.metadata))\n\nqdrant.upsert(collection_name=\"knowledge_base\", points=points)\n```\n\n**Checkpoint:** `assert qdrant.count(\"knowledge_base\").count == len(set(p.id for p in points)), \"Deduplication failed\"`\n\n### 3. Hybrid Search (Vector + BM25)\n\n```python\nfrom qdrant_client.models import Filter, FieldCondition, MatchValue, SparseVector\nfrom rank_bm25 import BM25Okapi\n\ndef hybrid_search(query: str, tenant_id: str, top_k: int = 20) -> list:\n    # Dense retrieval\n    query_embedding = embed_chunks([query])[0]\n    tenant_filter = Filter(must=[FieldCondition(key=\"tenant_id\", match=MatchValue(value=tenant_id))])\n    dense_results = qdrant.search(\n        collection_name=\"knowledge_base\",\n        query_vector=query_embedding,\n        query_filter=tenant_filter,\n        limit=top_k,\n    )\n\n    # Sparse retrieval (BM25)\n    corpus = [r.payload.get(\"text\", \"\") for r in dense_results]\n    bm25 = BM25Okapi([doc.split() for doc in corpus])\n    bm25_scores = bm25.get_scores(query.split())\n\n    # Reciprocal Rank Fusion\n    ranked = sorted(\n        zip(dense_results, bm25_scores),\n        key=lambda x: 0.6 * x[0].score + 0.4 * x[1],\n        reverse=True,\n    )\n    return [r for r, _ in ranked[:top_k]]\n```\n\n**Checkpoint:** `assert len(hybrid_search(\"test query\", tenant_id=\"demo\")) > 0, \"Hybrid search returned no results\"`\n\n### 4. Reranking Top-K Results\n\n```python\nimport cohere\n\nco = cohere.Client(\"YOUR_API_KEY\")\n\ndef rerank(query: str, results: list, top_n: int = 5) -> list:\n    docs = [r.payload.get(\"text\", \"\") for r in results]\n    reranked = co.rerank(query=query, documents=docs, top_n=top_n, model=\"rerank-english-v3.0\")\n    return [results[r.index] for r in reranked.results]\n```\n\n### 5. Retrieval Evaluation\n\n```python\n# Run precision@k and recall@k against a labeled evaluation set\n# python evaluate.py --metrics precision@10 recall@10 mrr --collection knowledge_base\n\nfrom ragas import evaluate\nfrom ragas.metrics import context_precision, context_recall, faithfulness, answer_relevancy\nfrom datasets import Dataset\n\neval_dataset = Dataset.from_dict({\n    \"question\": questions,\n    \"contexts\": retrieved_contexts,\n    \"answer\": generated_answers,\n    \"ground_truth\": ground_truth_answers,\n})\n\nresults = evaluate(eval_dataset, metrics=[context_precision, context_recall, faithfulness, answer_relevancy])\nprint(results)\n```\n\n**Checkpoint:** Target `context_precision >= 0.7` and `context_recall >= 0.6` before moving to LLM integration.\n\n## Constraints\n\n### MUST DO\n- Evaluate multiple embedding models on your domain data before committing\n- Implement hybrid search (vector + keyword) for production systems\n- Add metadata filters for multi-tenant or domain-specific retrieval\n- Measure retrieval metrics (precision@k, recall@k, MRR, NDCG)\n- Use reranking for top-k results before passing context to LLM\n- Implement idempotent ingestion with deduplication (deterministic IDs)\n- Monitor retrieval latency and quality over time\n- Version embeddings and plan for model migration\n\n### MUST NOT DO\n- Use default chunk size (512) without evaluation on your domain data\n- Skip metadata enrichment (source, timestamp, section)\n- Ignore retrieval quality metrics in favor of only LLM output quality\n- Store raw documents without preprocessing\u002Fcleaning\n- Use cosine similarity alone for complex multi-domain retrieval\n- Deploy without testing on production-like data volumes\n- Forget to handle edge cases (empty results, malformed docs)\n- Couple the embedding model tightly to application code\n\n## Output Templates\n\nWhen designing RAG architecture, deliver:\n1. System architecture diagram (ingestion + retrieval pipelines)\n2. Vector database selection with trade-off analysis\n3. Chunking strategy with examples and rationale\n4. Retrieval pipeline design (query → results flow)\n5. Evaluation plan with metrics, benchmarks, and pass\u002Ffail thresholds\n",{"name":5,"license":15,"metadata":57,"description":7},{"role":34,"scope":58,"author":59,"domain":60,"version":61,"triggers":62,"output-format":51,"related-skills":63},"system-design","https:\u002F\u002Fgithub.com\u002FJeffallan","data-ml","1.1.0","RAG, retrieval-augmented generation, vector search, embeddings, semantic search, vector database, document retrieval, knowledge base, context retrieval, similarity search","python-pro, database-optimizer, monitoring-expert, api-designer","main","c19c0bc0a04d25a849ce749fe88250e688f06437",".agents\u002Fskills\u002Frag-architect",1,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse","https:\u002F\u002Fgithub.com\u002FPIXARTSeu","https:\u002F\u002Fpixarts.eu\u002F","2026-09-24 06:30:45",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add PIXARTSeu\u002FSynapse --skill rag-architect",{"tool":78,"command":79},"bunx","bunx skills add PIXARTSeu\u002FSynapse --skill rag-architect",{"tool":81,"command":82},"pnpm","pnpm dlx skills add PIXARTSeu\u002FSynapse --skill rag-architect","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002FSKILL.md",true,[86,92,96,100,104],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fchunking-strategies.md","REFERENCE","参考文档",25083,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002Freferences\u002Fchunking-strategies.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fembedding-models.md",15330,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002Freferences\u002Fembedding-models.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Frag-evaluation.md",24288,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002Freferences\u002Frag-evaluation.md",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fretrieval-optimization.md",21922,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002Freferences\u002Fretrieval-optimization.md",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fvector-databases.md",14257,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Frag-architect\u002Freferences\u002Fvector-databases.md",[109,140,147,171,193,219],{"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":119,"publishedAt":52},"01M6X0ECZKGP44NP2JW588B9RG","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],"react","vercel react best practices","best practices","react best practices","vercel","writing","performance","components","react components","guidelines","tasks","code","Optimization","data","refactoring","patterns","next","triggers","data fetching","when",{"skillNo":141,"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":142,"categories":143,"keywords":146,"publishedAt":52},"01M6X05WCVH879XKZEAQ15PHQX","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Fskill\u002Fvercel-react-best-practices\u002FSKILL.md",[144,145],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":155,"publishedAt":52},"01M6WZ286AR2SYE9GZYVW0CNYG","wordpress-pro","Develops custom WordPress themes and plugins, creates and registers Gutenberg blocks and block patterns, configures WooCommerce stores, implements WordPress REST API endpoints, applies security hardening (nonces, sanitization, escaping, capability checks), and optimizes performance through caching and query tuning. Use when building WordPress themes, writing plugins, customizing Gutenberg blocks, extending WooCommerce, working with ACF, using the WordPress REST API, applying hooks and filters, or improving WordPress performance and security.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fwordpress-pro\u002FSKILL.md",[153,154],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[156,157,158,125,159,126,131,160,161,162,163,164,165,41,166,167,168,169,170,139],"wordpress","wordpress pro","pro","security","tuning","api","laravel","reviewer","hooks","filters","query","woocommerce","caching","themes","sanitization",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":179,"publishedAt":52},"01M6WZ1ZVG6PJ4PVN9RTK0BX7Z","websocket-engineer","Use when building real-time communication systems with WebSockets or Socket.IO. Invoke for bidirectional messaging, horizontal scaling with Redis, presence tracking, room management.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fwebsocket-engineer\u002FSKILL.md",[177,178],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[180,181,182,51,131,183,45,161,163,184,41,185,186,187,188,189,190,191,192,139],"websocket","engineer","websocket engineer","messaging","fastapi","time","scaling","io","communication systems","presence","updates","socket","invoke",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":52},"01M6WZ1G86ZR73H0WNM6CGNRGF","vue-expert","Builds Vue 3 components with Composition API patterns, configures Nuxt 3 SSR\u002FSSG projects, sets up Pinia stores, scaffolds Quasar\u002FCapacitor mobile apps, implements PWA features, and optimises Vite builds. Use when creating Vue 3 applications with Composition API, writing reusable composables, managing state with Pinia, building hybrid mobile apps with Quasar or Capacitor, configuring service workers, or tuning Vite configuration and TypeScript integration.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fvue-expert\u002FSKILL.md",[199,200,201],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[203,41,204,205,125,206,127,207,208,209,210,211,212,213,214,215,216,217,218,36],"vue","vue expert","frontend","typescript","config","applications","Composition","projects","pinia","use","router","workers","mobile","reusable","worker","apps",{"skillNo":220,"name":221,"nameZh":6,"description":222,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":223,"categories":224,"keywords":227,"publishedAt":52},"01M6WZ1AP3GFCBAMD712X8KRP7","vue-expert-js","Creates Vue 3 components, builds vanilla JS composables, configures Vite projects, and sets up routing and state management using JavaScript only — no TypeScript. Generates JSDoc-typed code with @typedef, @param, and @returns annotations for full type coverage without a TS compiler. Use when building Vue 3 applications with JavaScript only (no TypeScript), when projects require JSDoc-based type hints, when migrating from Vue 2 Options API to Composition API in JS, or when teams prefer vanilla JavaScript, .mjs modules, or need quick prototypes without TypeScript setup.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fvue-expert-js\u002FSKILL.md",[225,226],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[203,228,41,229,204,205,206,127,131,161,209,210,230,231,232,233,234,235,236,139],"js","vue expert js","coverage","only","up","modules","options","jsdoc","quick"]