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