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