[{"data":1,"prerenderedAt":897},["ShallowReactive",2],{"navigation_docs":3,"-reference-agent-skills":443,"-reference-agent-skills-surround":893},[4,30,80,249,357,412],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"Integrate","\u002Fintegrate","3.integrate",[85,89,157],{"title":36,"path":86,"stem":87,"icon":88},"\u002Fintegrate\u002Foverview","3.integrate\u002F0.overview","i-lucide-plug",{"title":90,"path":91,"stem":92,"children":93,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","3.integrate\u002Fadapters",[94,97,137],{"title":36,"path":95,"stem":96,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","3.integrate\u002Fadapters\u002F01.overview",{"title":98,"path":99,"stem":100,"children":101,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","3.integrate\u002Fadapters\u002Fcloud",[102,107,112,117,122,127,132],{"title":103,"path":104,"stem":105,"icon":106},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","3.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":108,"path":109,"stem":110,"icon":111},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","3.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":113,"path":114,"stem":115,"icon":116},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","3.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":118,"path":119,"stem":120,"icon":121},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","3.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":123,"path":124,"stem":125,"icon":126},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","3.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":128,"path":129,"stem":130,"icon":131},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","3.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":133,"path":134,"stem":135,"icon":136},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","3.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","3.integrate\u002Fadapters\u002Fself-hosted",[142,147,152],{"title":143,"path":144,"stem":145,"icon":146},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","3.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":148,"path":149,"stem":150,"icon":151},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","3.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":153,"path":154,"stem":155,"icon":156},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","3.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":158,"path":159,"stem":160,"children":161,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","3.integrate\u002Fframeworks",[162,166,171,176,181,186,191,196,201,206,211,216,221,226,230,235,240,245],{"title":36,"path":163,"stem":164,"icon":165},"\u002Fintegrate\u002Fframeworks\u002Foverview","3.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":167,"path":168,"stem":169,"icon":170},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","3.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":172,"path":173,"stem":174,"icon":175},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","3.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":177,"path":178,"stem":179,"icon":180},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","3.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":182,"path":183,"stem":184,"icon":185},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","3.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":187,"path":188,"stem":189,"icon":190},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","3.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":192,"path":193,"stem":194,"icon":195},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","3.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":197,"path":198,"stem":199,"icon":200},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","3.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":202,"path":203,"stem":204,"icon":205},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","3.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":207,"path":208,"stem":209,"icon":210},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","3.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":212,"path":213,"stem":214,"icon":215},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","3.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":217,"path":218,"stem":219,"icon":220},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","3.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":222,"path":223,"stem":224,"icon":225},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","3.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":227,"path":228,"stem":229,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","3.integrate\u002Fframeworks\u002F13.standalone",{"title":231,"path":232,"stem":233,"icon":234},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","3.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":236,"path":237,"stem":238,"icon":239},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","3.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":241,"path":242,"stem":243,"icon":244},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","3.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":246,"path":247,"stem":248,"icon":44},"CLI","\u002Fintegrate\u002Fframeworks\u002Fcli","3.integrate\u002Fframeworks\u002F17.cli",{"title":250,"path":251,"stem":252,"children":253,"page":29},"Use Cases","\u002Fuse-cases","4.use-cases",[254,258,263,292,320,352],{"title":36,"path":255,"stem":256,"icon":257},"\u002Fuse-cases\u002Foverview","4.use-cases\u002F0.overview","i-lucide-list-checks",{"title":259,"path":260,"stem":261,"icon":262},"Client Logging","\u002Fuse-cases\u002Fclient-logging","4.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":264,"icon":265,"path":266,"stem":267,"children":268,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","4.use-cases\u002F2.ai-sdk",[269,272,277,282,287],{"title":36,"path":270,"stem":271,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","4.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":273,"path":274,"stem":275,"icon":276},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","4.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":278,"path":279,"stem":280,"icon":281},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","4.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":283,"path":284,"stem":285,"icon":286},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","4.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":288,"path":289,"stem":290,"icon":291},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","4.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":293,"icon":294,"path":295,"stem":296,"children":297,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","4.use-cases\u002F3.better-auth",[298,301,306,311,315],{"title":36,"path":299,"stem":300,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","4.use-cases\u002F3.better-auth\u002F01.overview",{"title":302,"path":303,"stem":304,"icon":305},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","4.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":307,"path":308,"stem":309,"icon":310},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","4.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":312,"path":313,"stem":314,"icon":262},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","4.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":316,"path":317,"stem":318,"icon":319},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","4.use-cases\u002F3.better-auth\u002F05.performance","i-lucide-gauge",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","4.use-cases\u002F4.audit",[326,329,334,339,344,348],{"title":36,"path":327,"stem":328,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","4.use-cases\u002F4.audit\u002F01.overview",{"title":330,"path":331,"stem":332,"icon":333},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","4.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":335,"path":336,"stem":337,"icon":338},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","4.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":340,"path":341,"stem":342,"icon":343},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","4.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":345,"path":346,"stem":347,"icon":322},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","4.use-cases\u002F4.audit\u002F05.compliance",{"title":349,"path":350,"stem":351,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","4.use-cases\u002F4.audit\u002F06.recipes",{"title":353,"path":354,"stem":355,"icon":356},"Enrichers","\u002Fuse-cases\u002Fenrichers","4.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":358,"path":359,"stem":360,"children":361,"page":29},"Extend","\u002Fextend","5.extend",[362,366,371,376,381,385,389,393,397,402,407],{"title":36,"path":363,"stem":364,"icon":365},"\u002Fextend\u002Foverview","5.extend\u002F0.overview","i-lucide-blocks",{"title":367,"path":368,"stem":369,"icon":370},"Stream","\u002Fextend\u002Fstream","5.extend\u002F1.stream","i-lucide-radio-tower",{"title":372,"path":373,"stem":374,"icon":375},"Custom framework","\u002Fextend\u002Fcustom-framework","5.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":377,"path":378,"stem":379,"icon":380},"FS reader","\u002Fextend\u002Ffs-reader","5.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":349,"path":382,"stem":383,"icon":384},"\u002Fextend\u002Fconsumer-recipes","5.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":386,"path":387,"stem":388,"icon":365},"Plugins","\u002Fextend\u002Fplugins","5.extend\u002F4.plugins",{"title":390,"path":391,"stem":392,"icon":356},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","5.extend\u002F5.custom-enrichers",{"title":394,"path":395,"stem":396,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","5.extend\u002F6.tail-sampling",{"title":398,"path":399,"stem":400,"icon":401},"Identity headers","\u002Fextend\u002Fidentity-headers","5.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":403,"path":404,"stem":405,"icon":406},"Custom drains","\u002Fextend\u002Fcustom-drains","5.extend\u002F8.custom-drains","i-lucide-share-2",{"title":408,"path":409,"stem":410,"icon":411},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","5.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":413,"path":414,"stem":415,"children":416,"page":29},"Reference","\u002Freference","6.reference",[417,422,425,430,434,439],{"title":418,"path":419,"stem":420,"icon":421},"Configuration","\u002Freference\u002Fconfiguration","6.reference\u002F1.configuration","i-lucide-settings",{"title":316,"path":423,"stem":424,"icon":319},"\u002Freference\u002Fperformance","6.reference\u002F2.performance",{"title":426,"path":427,"stem":428,"icon":429},"Vite Plugin","\u002Freference\u002Fvite-plugin","6.reference\u002F3.vite-plugin","i-custom-vite",{"title":431,"path":432,"stem":433,"icon":322},"Best Practices","\u002Freference\u002Fbest-practices","6.reference\u002F4.best-practices",{"title":435,"path":436,"stem":437,"icon":438},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","6.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":440,"path":441,"stem":442,"icon":356},"Agent Skills","\u002Freference\u002Fagent-skills","6.reference\u002F6.agent-skills",{"id":444,"title":440,"body":445,"description":879,"extension":880,"links":881,"meta":889,"navigation":890,"path":441,"seo":891,"stem":442,"__hash__":892},"docs\u002F6.reference\u002F6.agent-skills.md",{"type":446,"value":447,"toc":859},"minimark",[448,452,457,466,489,493,559,563,566,569,598,602,607,610,648,652,655,679,683,693,722,726,729,736,740,744,757,761,766,770,774,782,786,789,793,804,808,819,823,834,838,855],[449,450,451],"p",{},"evlog includes agent skills that help AI assistants review your logging patterns and guide evlog adoption.",[453,454,456],"h2",{"id":455},"what-are-agent-skills","What are Agent Skills?",[449,458,459,465],{},[460,461,440],"a",{"href":462,"rel":463},"https:\u002F\u002Fagentskills.io\u002F",[464],"nofollow"," is an open specification for packaging AI assistant capabilities. Skills provide:",[467,468,469,477,483],"ul",{},[470,471,472,476],"li",{},[473,474,475],"strong",{},"Domain knowledge",": Best practices for wide events and structured errors",[470,478,479,482],{},[473,480,481],{},"Code review",": Identify logging anti-patterns in your codebase",[470,484,485,488],{},[473,486,487],{},"Guided adoption",": Step-by-step help migrating to evlog",[453,490,492],{"id":491},"available-skills","Available Skills",[494,495,496,509],"table",{},[497,498,499],"thead",{},[500,501,502,506],"tr",{},[503,504,505],"th",{},"Skill",[503,507,508],{},"Description",[510,511,512,524,545],"tbody",{},[500,513,514,521],{},[515,516,517],"td",{},[518,519,520],"code",{},"skills\u002Freview-logging-patterns",[515,522,523],{},"Review code for logging patterns, suggest evlog adoption, guide wide event design",[500,525,526,531],{},[515,527,528],{},[518,529,530],{},"skills\u002Fbuild-audit-logs",[515,532,533,534,537,538,537,541,544],{},"Design, wire, and review tamper-aware audit trails: policy, ",[518,535,536],{},"auditEnricher",", ",[518,539,540],{},"auditOnly",[518,542,543],{},"signed",", denials, redaction, tests",[500,546,547,552],{},[515,548,549],{},[518,550,551],{},"skills\u002Fanalyze-logs",[515,553,554,555,558],{},"Analyze application logs from ",[518,556,557],{},".evlog\u002Flogs\u002F"," to debug errors, investigate performance, and understand behavior",[453,560,562],{"id":561},"installing-the-skill","Installing the Skill",[449,564,565],{},"Compatible agents (Cursor, Claude Code, etc.) can discover and use skills automatically.",[449,567,568],{},"To manually install with the skills CLI:",[570,571,577],"pre",{"className":572,"code":573,"filename":574,"language":575,"meta":576,"style":576},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add https:\u002F\u002Fwww.evlog.dev\n","Terminal","bash","",[518,578,579],{"__ignoreMap":576},[580,581,584,588,592,595],"span",{"class":582,"line":583},"line",1,[580,585,587],{"class":586},"sBMFI","npx",[580,589,591],{"class":590},"sfazB"," skills",[580,593,594],{"class":590}," add",[580,596,597],{"class":590}," https:\u002F\u002Fwww.evlog.dev\n",[453,599,601],{"id":600},"what-the-skill-does","What the Skill Does",[603,604,606],"h3",{"id":605},"code-review","Code Review",[449,608,609],{},"The skill analyzes your codebase for:",[467,611,612,626,632,642],{},[470,613,614,617,618,621,622,625],{},[473,615,616],{},"Scattered logging",": Multiple ",[518,619,620],{},"console.log"," or ",[518,623,624],{},"logger.info"," calls in request handlers",[470,627,628,631],{},[473,629,630],{},"Missing context",": Logs without user, request, or business context",[470,633,634,637,638,641],{},[473,635,636],{},"Unhelpful errors",": ",[518,639,640],{},"throw new Error()"," without structured fields",[470,643,644,647],{},[473,645,646],{},"Correlation gaps",": Missing request IDs or trace IDs",[603,649,651],{"id":650},"adoption-guidance","Adoption Guidance",[449,653,654],{},"The skill helps you:",[467,656,657,660,663,676],{},[470,658,659],{},"Convert traditional logging to wide events",[470,661,662],{},"Design effective wide event schemas",[470,664,665,666,537,669,672,673],{},"Implement structured errors with ",[518,667,668],{},"why",[518,670,671],{},"fix",", and ",[518,674,675],{},"link",[470,677,678],{},"Set up evlog in Nuxt, Nitro, or standalone TypeScript",[603,680,682],{"id":681},"log-analysis","Log Analysis",[449,684,685,686,689,690,692],{},"The ",[518,687,688],{},"analyze-logs"," skill teaches your AI assistant to read structured logs from ",[518,691,557],{},":",[467,694,695,701,707,716],{},[470,696,697,700],{},[473,698,699],{},"Error debugging",": Find and explain errors, stack traces, and failure patterns",[470,702,703,706],{},[473,704,705],{},"Performance investigation",": Identify slow requests by duration",[470,708,709,712,713],{},[473,710,711],{},"Request tracing",": Follow a request across its lifecycle using ",[518,714,715],{},"requestId",[470,717,718,721],{},[473,719,720],{},"Pattern detection",": Spot recurring issues or anomalies",[603,723,725],{"id":724},"example-prompts","Example Prompts",[449,727,728],{},"Ask your AI assistant:",[730,731,735],"prompt",{":actions":732,"description":733,"icon":734},"[\"copy\",\"cursor\",\"windsurf\"]","Review my code for logging anti-patterns","i-lucide-search-code","Review this file for logging anti-patterns",[730,737,739],{":actions":732,"description":738,"icon":49},"Convert console.log calls to a wide event","Help me convert these console.log calls to a wide event",[730,741,743],{":actions":732,"description":742,"icon":356},"Suggest context to add to my wide event","What context should I add to this wide event?",[730,745,747,748,751,752,756],{":actions":732,"description":746,"icon":322},"Design or review an audit trail with evlog","Follow the ",[473,749,750],{},"build-audit-logs"," skill. Help me design, implement, or review an audit trail with evlog (",[460,753,754],{"href":754,"rel":755},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Faudit\u002Foverview",[464],").",[730,758,760],{":actions":732,"description":759,"icon":54},"Structure this error with evlog","How do I structure this error with evlog?",[730,762,765],{":actions":732,"description":763,"icon":764},"Debug a failing endpoint from logs","i-lucide-bug","Why is the checkout endpoint failing?",[730,767,769],{":actions":732,"description":768,"icon":319},"Find the slowest requests from today","Show me the slowest requests from today",[453,771,773],{"id":772},"skill-structure","Skill Structure",[570,775,780],{"className":776,"code":778,"language":779},[777],"language-text","skills\u002F\n├── review-logging-patterns\u002F\n│   ├── SKILL.md              # Main skill instructions\n│   └── references\u002F\n│       ├── wide-events.md    # Wide event patterns\n│       ├── structured-errors.md # Error handling guide\n│       └── code-review.md    # Review checklist\n├── build-audit-logs\u002F\n│   ├── SKILL.md              # Audit policy, wiring, review checklist\n│   └── references\u002F\n│       └── framework-wiring.md\n└── analyze-logs\u002F\n    └── SKILL.md              # Log analysis from .evlog\u002Flogs\u002F\n","text",[518,781,778],{"__ignoreMap":576},[453,783,785],{"id":784},"reference-documents","Reference Documents",[449,787,788],{},"The skill includes reference documents that provide:",[603,790,792],{"id":791},"wide-eventsmd","wide-events.md",[467,794,795,798,801],{},[470,796,797],{},"Wide event anatomy and best practices",[470,799,800],{},"Context grouping patterns",[470,802,803],{},"Output format examples",[603,805,807],{"id":806},"structured-errorsmd","structured-errors.md",[467,809,810,813,816],{},[470,811,812],{},"Error field definitions",[470,814,815],{},"Status code guidelines",[470,817,818],{},"Frontend integration patterns",[603,820,822],{"id":821},"code-reviewmd","code-review.md",[467,824,825,828,831],{},[470,826,827],{},"Checklist for logging code review",[470,829,830],{},"Common anti-patterns to identify",[470,832,833],{},"Migration suggestions",[453,835,837],{"id":836},"next-steps","Next Steps",[467,839,840,845,850],{},[470,841,842,844],{},[460,843,25],{"href":26}," - Get started with evlog",[470,846,847,849],{},[460,848,46],{"href":47}," - Learn wide event design",[470,851,852,854],{},[460,853,51],{"href":52}," - Error handling patterns",[856,857,858],"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":576,"searchDepth":860,"depth":860,"links":861},2,[862,863,864,865,872,873,878],{"id":455,"depth":860,"text":456},{"id":491,"depth":860,"text":492},{"id":561,"depth":860,"text":562},{"id":600,"depth":860,"text":601,"children":866},[867,869,870,871],{"id":605,"depth":868,"text":606},3,{"id":650,"depth":868,"text":651},{"id":681,"depth":868,"text":682},{"id":724,"depth":868,"text":725},{"id":772,"depth":860,"text":773},{"id":784,"depth":860,"text":785,"children":874},[875,876,877],{"id":791,"depth":868,"text":792},{"id":806,"depth":868,"text":807},{"id":821,"depth":868,"text":822},{"id":836,"depth":860,"text":837},"AI-assisted code review and evlog adoption using Agent Skills. Let AI review your logging patterns and guide migration to wide events.","md",[882],{"label":883,"icon":884,"to":885,"target":886,"color":887,"variant":888},"Agent Skills Spec","i-lucide-external-link","https:\u002F\u002Fagentskills.io","_blank","neutral","subtle",{},{"icon":356},{"title":440,"description":879},"aTzeG466eo8yy7IqAoKrG_KAJ_NtSteBdEv6aU6NWRI",[894,896],{"title":435,"path":436,"stem":437,"description":895,"icon":438,"children":-1},"Side-by-side comparison of evlog with pino, winston, and consola. Feature parity matrix, honest gaps, and migration snippets so you can switch with no surprises.",null,1780170063667]