[{"data":1,"prerenderedAt":479},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-agent-skills":49,"-getting-started-agent-skills-surround":474},[4,27],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","/getting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":15,"path":16,"stem":17},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":19,"path":20,"stem":21},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start",{"title":23,"path":24,"stem":25},"Agent Skills","/getting-started/agent-skills","1.getting-started/4.agent-skills",false,{"title":28,"icon":29,"items":30,"path":40,"stem":41,"children":42,"page":26},"Core Concepts","i-lucide-book-open",[31,34,37],{"title":32,"path":33},"Wide Events","/core-concepts/wide-events",{"title":35,"path":36},"Structured Errors","/core-concepts/structured-errors",{"title":38,"path":39},"Best Practices","/core-concepts/best-practices","/core-concepts","2.core-concepts",[43,45,47],{"title":32,"path":33,"stem":44},"2.core-concepts/1.wide-events",{"title":35,"path":36,"stem":46},"2.core-concepts/2.structured-errors",{"title":38,"path":39,"stem":48},"2.core-concepts/3.best-practices",{"id":50,"title":23,"body":51,"description":468,"extension":469,"links":470,"meta":471,"navigation":371,"path":24,"seo":472,"stem":25,"__hash__":473},"docs/1.getting-started/4.agent-skills.md",{"type":52,"value":53,"toc":450},"minimark",[54,58,63,72,95,99,130,134,137,140,169,173,178,181,219,223,226,251,255,258,266,272,278,284,288,294,298,301,305,316,320,331,335,346,350,353,425,429,446],[55,56,57],"p",{},"evlog includes agent skills that help AI assistants review your logging patterns and guide evlog adoption.",[59,60,62],"h2",{"id":61},"what-are-agent-skills","What are Agent Skills?",[55,64,65,71],{},[66,67,23],"a",{"href":68,"rel":69},"https://agentskills.io/",[70],"nofollow"," is an open specification for packaging AI assistant capabilities. Skills provide:",[73,74,75,83,89],"ul",{},[76,77,78,82],"li",{},[79,80,81],"strong",{},"Domain knowledge",": Best practices for wide events and structured errors",[76,84,85,88],{},[79,86,87],{},"Code review",": Identify logging anti-patterns in your codebase",[76,90,91,94],{},[79,92,93],{},"Guided adoption",": Step-by-step help migrating to evlog",[59,96,98],{"id":97},"available-skills","Available Skills",[100,101,102,115],"table",{},[103,104,105],"thead",{},[106,107,108,112],"tr",{},[109,110,111],"th",{},"Skill",[109,113,114],{},"Description",[116,117,118],"tbody",{},[106,119,120,127],{},[121,122,123],"td",{},[124,125,126],"code",{},"skills/evlog",[121,128,129],{},"Review code for logging patterns, suggest evlog adoption, guide wide event design",[59,131,133],{"id":132},"installing-the-skill","Installing the Skill",[55,135,136],{},"Compatible agents (Cursor, Claude Code, etc.) can discover and use skills automatically.",[55,138,139],{},"To manually install with the skills CLI:",[141,142,148],"pre",{"className":143,"code":144,"filename":145,"language":146,"meta":147,"style":147},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add hugorcd/evlog\n","Terminal","bash","",[124,149,150],{"__ignoreMap":147},[151,152,155,159,163,166],"span",{"class":153,"line":154},"line",1,[151,156,158],{"class":157},"sBMFI","npx",[151,160,162],{"class":161},"sfazB"," skills",[151,164,165],{"class":161}," add",[151,167,168],{"class":161}," hugorcd/evlog\n",[59,170,172],{"id":171},"what-the-skill-does","What the Skill Does",[174,175,177],"h3",{"id":176},"code-review","Code Review",[55,179,180],{},"The skill analyzes your codebase for:",[73,182,183,197,203,213],{},[76,184,185,188,189,192,193,196],{},[79,186,187],{},"Scattered logging",": Multiple ",[124,190,191],{},"console.log"," or ",[124,194,195],{},"logger.info"," calls in request handlers",[76,198,199,202],{},[79,200,201],{},"Missing context",": Logs without user, request, or business context",[76,204,205,208,209,212],{},[79,206,207],{},"Unhelpful errors",": ",[124,210,211],{},"throw new Error()"," without structured fields",[76,214,215,218],{},[79,216,217],{},"Correlation gaps",": Missing request IDs or trace IDs",[174,220,222],{"id":221},"adoption-guidance","Adoption Guidance",[55,224,225],{},"The skill helps you:",[73,227,228,231,234,248],{},[76,229,230],{},"Convert traditional logging to wide events",[76,232,233],{},"Design effective wide event schemas",[76,235,236,237,240,241,244,245],{},"Implement structured errors with ",[124,238,239],{},"why",", ",[124,242,243],{},"fix",", and ",[124,246,247],{},"link",[76,249,250],{},"Set up evlog in Nuxt, Nitro, or standalone TypeScript",[174,252,254],{"id":253},"example-prompts","Example Prompts",[55,256,257],{},"Ask your AI assistant:",[141,259,264],{"className":260,"code":262,"language":263},[261],"language-text","Review this file for logging anti-patterns\n","text",[124,265,262],{"__ignoreMap":147},[141,267,270],{"className":268,"code":269,"language":263},[261],"Help me convert these console.log calls to a wide event\n",[124,271,269],{"__ignoreMap":147},[141,273,276],{"className":274,"code":275,"language":263},[261],"What context should I add to this wide event?\n",[124,277,275],{"__ignoreMap":147},[141,279,282],{"className":280,"code":281,"language":263},[261],"How do I structure this error with evlog?\n",[124,283,281],{"__ignoreMap":147},[59,285,287],{"id":286},"skill-structure","Skill Structure",[141,289,292],{"className":290,"code":291,"language":263},[261],"skills/\n└── evlog/\n    ├── SKILL.md              # Main skill instructions\n    └── references/\n        ├── wide-events.md    # Wide event patterns\n        ├── structured-errors.md # Error handling guide\n        └── code-review.md    # Review checklist\n",[124,293,291],{"__ignoreMap":147},[59,295,297],{"id":296},"reference-documents","Reference Documents",[55,299,300],{},"The skill includes reference documents that provide:",[174,302,304],{"id":303},"wide-eventsmd","wide-events.md",[73,306,307,310,313],{},[76,308,309],{},"Wide event anatomy and best practices",[76,311,312],{},"Context grouping patterns",[76,314,315],{},"Output format examples",[174,317,319],{"id":318},"structured-errorsmd","structured-errors.md",[73,321,322,325,328],{},[76,323,324],{},"Error field definitions",[76,326,327],{},"Status code guidelines",[76,329,330],{},"Frontend integration patterns",[174,332,334],{"id":333},"code-reviewmd","code-review.md",[73,336,337,340,343],{},[76,338,339],{},"Checklist for logging code review",[76,341,342],{},"Common anti-patterns to identify",[76,344,345],{},"Migration suggestions",[59,347,349],{"id":348},"creating-custom-skills","Creating Custom Skills",[55,351,352],{},"You can extend evlog's skills or create your own for team-specific patterns:",[141,354,359],{"className":355,"code":356,"filename":357,"language":358,"meta":147,"style":147},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# My Team Logging Skill\n\nExtends evlog skill with team-specific guidelines.\n\n## References\n- @evlog/skills/evlog\n\n## Custom Patterns\n- Always include `team` field in wide events\n- Use `X-Team-Request-Id` header for correlation\n- Log to DataDog with structured format\n","skills/my-team/SKILL.md","markdown",[124,360,361,366,373,379,384,390,396,401,407,413,419],{"__ignoreMap":147},[151,362,363],{"class":153,"line":154},[151,364,365],{},"# My Team Logging Skill\n",[151,367,369],{"class":153,"line":368},2,[151,370,372],{"emptyLinePlaceholder":371},true,"\n",[151,374,376],{"class":153,"line":375},3,[151,377,378],{},"Extends evlog skill with team-specific guidelines.\n",[151,380,382],{"class":153,"line":381},4,[151,383,372],{"emptyLinePlaceholder":371},[151,385,387],{"class":153,"line":386},5,[151,388,389],{},"## References\n",[151,391,393],{"class":153,"line":392},6,[151,394,395],{},"- @evlog/skills/evlog\n",[151,397,399],{"class":153,"line":398},7,[151,400,372],{"emptyLinePlaceholder":371},[151,402,404],{"class":153,"line":403},8,[151,405,406],{},"## Custom Patterns\n",[151,408,410],{"class":153,"line":409},9,[151,411,412],{},"- Always include `team` field in wide events\n",[151,414,416],{"class":153,"line":415},10,[151,417,418],{},"- Use `X-Team-Request-Id` header for correlation\n",[151,420,422],{"class":153,"line":421},11,[151,423,424],{},"- Log to DataDog with structured format\n",[59,426,428],{"id":427},"next-steps","Next Steps",[73,430,431,436,441],{},[76,432,433,435],{},[66,434,19],{"href":20}," - Get started with evlog",[76,437,438,440],{},[66,439,32],{"href":33}," - Learn wide event design",[76,442,443,445],{},[66,444,35],{"href":36}," - Error handling patterns",[447,448,449],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":147,"searchDepth":368,"depth":368,"links":451},[452,453,454,455,460,461,466,467],{"id":61,"depth":368,"text":62},{"id":97,"depth":368,"text":98},{"id":132,"depth":368,"text":133},{"id":171,"depth":368,"text":172,"children":456},[457,458,459],{"id":176,"depth":375,"text":177},{"id":221,"depth":375,"text":222},{"id":253,"depth":375,"text":254},{"id":286,"depth":368,"text":287},{"id":296,"depth":368,"text":297,"children":462},[463,464,465],{"id":303,"depth":375,"text":304},{"id":318,"depth":375,"text":319},{"id":333,"depth":375,"text":334},{"id":348,"depth":368,"text":349},{"id":427,"depth":368,"text":428},"AI-assisted code review and evlog adoption using Agent Skills.","md",null,{},{"title":23,"description":468},"Xa_WNwSOiiwHsYJNcr5LcBcob8O2kNSL2zNe3OujHmw",[475,477],{"title":19,"path":20,"stem":21,"description":476,"children":-1},"Get up and running with evlog in minutes.",{"title":32,"path":33,"stem":44,"description":478,"children":-1},"Learn how to design effective wide events that capture everything you need in a single log.",1769868128710]