[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EGKH2FTFS7N24QPZ2KWF9T":3,"skill-same:01M6EGKH2FTFS7N24QPZ2KWF9T":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6EGKH2FTFS7N24QPZ2KWF9T","weave",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fweave\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# Weave — AI Application Tracking by Weights & Biases\n\nYou are an expert in Weave, the lightweight toolkit by Weights & Biases for tracking and evaluating AI applications. You help developers trace LLM calls, evaluate outputs, compare model versions, track experiments, and debug AI pipelines — with automatic logging via decorators and a visual dashboard for exploring traces, costs, and quality metrics.\n\n## Core Capabilities\n\n### Automatic Tracing\n\n```python\nimport weave\nimport openai\n\nweave.init(\"my-ai-project\")               # Initialize with project name\n\nclient = openai.OpenAI()\n\n# OpenAI calls are automatically traced\nresponse = client.chat.completions.create(\n    model=\"gpt-4o\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain transformers\"}],\n)\n# Weave captures: model, tokens, latency, cost, input\u002Foutput — viewable in dashboard\n\n# Custom function tracing\n@weave.op()\ndef extract_entities(text: str) -> list[str]:\n    \"\"\"Extract named entities from text.\"\"\"\n    response = client.chat.completions.create(\n        model=\"gpt-4o-mini\",\n        messages=[{\"role\": \"user\", \"content\": f\"Extract entities from: {text}\\nReturn JSON list.\"}],\n    )\n    return json.loads(response.choices[0].message.content)\n\n@weave.op()\ndef rag_pipeline(query: str) -> str:\n    \"\"\"Full RAG pipeline — each step traced as child span.\"\"\"\n    docs = retrieve_documents(query)       # Traced if decorated\n    context = \"\\n\".join(docs)\n    response = client.chat.completions.create(\n        model=\"gpt-4o\",\n        messages=[\n            {\"role\": \"system\", \"content\": f\"Answer using:\\n{context}\"},\n            {\"role\": \"user\", \"content\": query},\n        ],\n    )\n    return response.choices[0].message.content\n```\n\n### Evaluations\n\n```python\n# Define evaluation dataset\neval_dataset = [\n    {\"query\": \"What is Python?\", \"expected\": \"programming language\"},\n    {\"query\": \"Who created Linux?\", \"expected\": \"Linus Torvalds\"},\n    {\"query\": \"What is Docker?\", \"expected\": \"containerization platform\"},\n]\n\n# Define scoring functions\n@weave.op()\ndef relevance_scorer(output: str, expected: str) -> dict:\n    \"\"\"Score if output contains expected information.\"\"\"\n    contains = expected.lower() in output.lower()\n    return {\"relevance\": 1.0 if contains else 0.0}\n\n@weave.op()\ndef length_scorer(output: str) -> dict:\n    \"\"\"Score response length (prefer concise).\"\"\"\n    words = len(output.split())\n    return {\"conciseness\": min(1.0, 50 \u002F max(words, 1))}\n\n# Run evaluation\nevaluation = weave.Evaluation(\n    dataset=eval_dataset,\n    scorers=[relevance_scorer, length_scorer],\n)\n\nresults = await evaluation.evaluate(rag_pipeline)\n# Results visible in Weave dashboard with per-example scores\n# Compare across model versions, prompts, parameters\n```\n\n### Model Versioning\n\n```python\n# Track model\u002Fprompt versions\nclass SupportAgent(weave.Model):\n    model_name: str = \"gpt-4o\"\n    system_prompt: str = \"You are a helpful support agent.\"\n    temperature: float = 0.7\n\n    @weave.op()\n    def predict(self, query: str) -> str:\n        response = client.chat.completions.create(\n            model=self.model_name,\n            temperature=self.temperature,\n            messages=[\n                {\"role\": \"system\", \"content\": self.system_prompt},\n                {\"role\": \"user\", \"content\": query},\n            ],\n        )\n        return response.choices[0].message.content\n\n# Version 1\nagent_v1 = SupportAgent(system_prompt=\"Be concise and helpful.\")\n\n# Version 2 — compare in dashboard\nagent_v2 = SupportAgent(model_name=\"gpt-4o-mini\", system_prompt=\"Be detailed and empathetic.\")\n\n# Evaluate both versions\nfor agent in [agent_v1, agent_v2]:\n    await evaluation.evaluate(agent)\n# Dashboard shows side-by-side comparison: quality, cost, latency\n```\n\n## Installation\n\n```bash\npip install weave\n# Uses your W&B account — set WANDB_API_KEY\n```\n\n## Best Practices\n\n1. **@weave.op() decorator** — Add to any function to trace it; creates hierarchical spans for nested calls\n2. **Auto-instrumentation** — OpenAI, Anthropic, LangChain calls traced automatically after `weave.init()`\n3. **Evaluations** — Define datasets + scorers; run systematically; compare versions in dashboard\n4. **weave.Model** — Subclass for versioned models; parameters tracked, comparable across evaluations\n5. **W&B integration** — Weave data appears in your W&B workspace; share with team, add to reports\n6. **Cost tracking** — Automatic per-call cost calculation; aggregate by function, model, or user\n7. **Production monitoring** — Use in production for continuous quality tracking; alert on regressions\n8. **Lightweight** — Single `@weave.op()` decorator; no complex setup, no separate infrastructure\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Fweave",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill weave",{"tool":37,"command":38},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill weave",{"tool":40,"command":41},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill weave","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fweave\u002FSKILL.md",true,[],[46,60,70,79,85,92],{"skillNo":47,"name":48,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":49,"categories":50,"keywords":56,"publishedAt":18},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[51],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[57,58,59],"model","model hierarchy","model hierarchy skill",{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":66,"publishedAt":18},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[65],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[67,68,69],"MCP","zoom","zoom mcp",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":18},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[76,77,78,68],"sdk","zoom apps sdk","apps",{"skillNo":80,"name":81,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":18},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[81],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":18},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[90],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[87],{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":18},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[94]]