[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SGR4ACBPMCFV16Y1DKZWP":3,"skill-same:01M71SGR4ACBPMCFV16Y1DKZWP":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M71SGR4ACBPMCFV16Y1DKZWP","instrument-runtime-telemetry",null,"Mandatory telemetry checklist for Agent Session Manager runtime behavior features, fixes, and refactors. Load before changing runtime behavior so spans, invariants, tests, and catalogs stay diagnostically complete.","JustinDFuller\u002Fagent-session-manager","JustinDFuller","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11914897?v=4","01M71SDTPZETGW0T4KYGMJVEF6","Justin Fuller","01M71SDTQK98BNVXNZ9TMD843D",1,"MIT","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finstrument-runtime-telemetry\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"instrument runtime telemetry","instrument","telemetry","runtime","load","manager","checklist","tests","invariants","features","session","complete","behavior","for","fixes","Session Manager","agent session","2026-11-10 13:02:02",false,"---\nname: instrument-runtime-telemetry\ndescription: \"Mandatory telemetry checklist for Agent Session Manager runtime behavior features, fixes, and refactors. Load before changing runtime behavior so spans, invariants, tests, and catalogs stay diagnostically complete.\"\n---\n\n# Instrument Runtime Telemetry\n\nLoad this skill for every feature, bug fix, or refactor that changes runtime behavior. This checklist applies even when telemetry is not the primary feature.\n\n## Choose The Signal\n\n- Emit a span for operations, lifecycle transitions, meaningful points in time, and success or failure outcomes.\n- Use span attributes for operation context and events for meaningful points during a long-lived operation.\n- Report an invariant when a runtime contract is violated and the occurrence must remain visible as a separate diagnostic record.\n- Use both when an invariant occurrence also belongs in trace correlation.\n- Every `TracingService` span\u002Frecord call automatically forwards to unified logging (`os.Logger` via `AppLog`) and an Instruments signpost — always on, independent of Debug Mode. Do not add `print`, `NSLog`, or a separate log call alongside a span for the same event; the span is the single instrumentation point.\n- If you need a *direct* `AppLog` call outside a span (rare — most events should just be a span), follow the same privacy split as `AppLog.log`: event name `.public` (a static string), attribute values `.private` (they may carry `cwd`, git args, or error strings).\n\n## Required Context\n\nEvery pane-scoped span must include:\n\n```text\npane.id\npane.name\ntab.id\ntab.name\n```\n\nRecord a bounded `result` or failure attribute for operations with meaningful outcomes. End every started long-lived span on all success, failure, cancellation, and early-return paths.\n\n## Data Rules\n\n- Keep local telemetry bounded and compatible with existing retention and trimming.\n- Do not expose app plumbing in terminal panes. Preserve Terminal Purity.\n- Do not add secrets, environment-variable values, auth material, or terminal-content capture.\n- Keep payload excerpts tightly bounded and add them only when they are required for diagnosis.\n- Update telemetry tests and the tracing, debug-mode, or invariant catalog when runtime telemetry changes.\n\n## Prioritized Backlog\n\nRecord these as future production instrumentation work; do not fold them into unrelated changes:\n\n1. Add stronger correlation IDs across pane lifecycle, status-line, and PR-tracking paths.\n2. Emit app startup and build metadata. Partially satisfied: the OTel `Resource` on every trace file's metadata header already carries `service.version`, `os.*`, and `device.*` (see `documentation\u002Ffeatures\u002Ftracing.md`). Startup-event-level metadata (e.g. a `app.launched` span) is still open.\n3. Complete pane create, restore, close, restart, and shell lifecycle coverage.\n4. Add explicit failure outcomes for worktree, terminal, settings, and notification operations.\n5. Surface exporter write and trim failures.\n6. Surface provider and watcher setup\u002Fread failures.\n7. Close PR-cycle spans on every early return and report skipped outcomes.\n\nUse OpenTelemetry span concepts consistently: attributes describe context, events mark meaningful moments, and failed operations carry error status or an equivalent bounded result field.\n","# Instrument Runtime Telemetry\n\nLoad this skill for every feature, bug fix, or refactor that changes runtime behavior. This checklist applies even when telemetry is not the primary feature.\n\n## Choose The Signal\n\n- Emit a span for operations, lifecycle transitions, meaningful points in time, and success or failure outcomes.\n- Use span attributes for operation context and events for meaningful points during a long-lived operation.\n- Report an invariant when a runtime contract is violated and the occurrence must remain visible as a separate diagnostic record.\n- Use both when an invariant occurrence also belongs in trace correlation.\n- Every `TracingService` span\u002Frecord call automatically forwards to unified logging (`os.Logger` via `AppLog`) and an Instruments signpost — always on, independent of Debug Mode. Do not add `print`, `NSLog`, or a separate log call alongside a span for the same event; the span is the single instrumentation point.\n- If you need a *direct* `AppLog` call outside a span (rare — most events should just be a span), follow the same privacy split as `AppLog.log`: event name `.public` (a static string), attribute values `.private` (they may carry `cwd`, git args, or error strings).\n\n## Required Context\n\nEvery pane-scoped span must include:\n\n```text\npane.id\npane.name\ntab.id\ntab.name\n```\n\nRecord a bounded `result` or failure attribute for operations with meaningful outcomes. End every started long-lived span on all success, failure, cancellation, and early-return paths.\n\n## Data Rules\n\n- Keep local telemetry bounded and compatible with existing retention and trimming.\n- Do not expose app plumbing in terminal panes. Preserve Terminal Purity.\n- Do not add secrets, environment-variable values, auth material, or terminal-content capture.\n- Keep payload excerpts tightly bounded and add them only when they are required for diagnosis.\n- Update telemetry tests and the tracing, debug-mode, or invariant catalog when runtime telemetry changes.\n\n## Prioritized Backlog\n\nRecord these as future production instrumentation work; do not fold them into unrelated changes:\n\n1. Add stronger correlation IDs across pane lifecycle, status-line, and PR-tracking paths.\n2. Emit app startup and build metadata. Partially satisfied: the OTel `Resource` on every trace file's metadata header already carries `service.version`, `os.*`, and `device.*` (see `documentation\u002Ffeatures\u002Ftracing.md`). Startup-event-level metadata (e.g. a `app.launched` span) is still open.\n3. Complete pane create, restore, close, restart, and shell lifecycle coverage.\n4. Add explicit failure outcomes for worktree, terminal, settings, and notification operations.\n5. Surface exporter write and trim failures.\n6. Surface provider and watcher setup\u002Fread failures.\n7. Close PR-cycle spans on every early return and report skipped outcomes.\n\nUse OpenTelemetry span concepts consistently: attributes describe context, events mark meaningful moments, and failed operations carry error status or an equivalent bounded result field.\n",{"name":5,"description":7},"main","695fc2689b09e8c623d6a9a4fbf694bb21cf7965",".agents\u002Fskills\u002Finstrument-runtime-telemetry",0,"https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager","https:\u002F\u002Fagent-session-manager.justindfuller.com\u002F","https:\u002F\u002Fgithub.com\u002FJustinDFuller","https:\u002F\u002Fwww.justindfuller.com","Some of my repos live at: https:\u002F\u002Fgithub.com\u002FJustinDFuller-org","2026-10-25 20:28:18",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add JustinDFuller\u002Fagent-session-manager --skill instrument-runtime-telemetry",{"tool":57,"command":58},"bunx","bunx skills add JustinDFuller\u002Fagent-session-manager --skill instrument-runtime-telemetry",{"tool":60,"command":61},"pnpm","pnpm dlx skills add JustinDFuller\u002Fagent-session-manager --skill instrument-runtime-telemetry","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finstrument-runtime-telemetry\u002FSKILL.md",true,[],[66,93,121,143,158,176],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":77,"publishedAt":36},"01M71SJ1DXFKKP8YGZ39N48MK5","workflow","Development workflow for this repo: plan → test → implement → human review → repeat. Load when starting any feature, bug fix, or refactor.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fworkflow\u002FSKILL.md",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[68,78,79,32,80,81,23,82,83,84,85,86,87,88,89,90,91,92],"feature","development","repo","fix","when","development workflow","human review","implement","review","test","plan","human","bug","bug fix","refactor",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":36},"01M71SHYJYXTAJ84CJM481VWAQ","usernotifications-documentation","UserNotifications official doc index — load when building notification features, requesting authorization, scheduling local notifications, handling notification actions, or any UserNotifications framework behavior.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fusernotifications-documentation\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[105,106,107,108,109,110,23,111,82,112,113,114,115,116,31,28,117,118,119,120],"usernotifications documentation","documentation","official","domain","actions","local","false","scheduling","notifications","apple","notification","webfetch","doc","index","authorization","developer",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":36},"01M71SHW2GGPD63909M5XVXM4B","swiftui-macos-form-alignment","SwiftUI macOS Form layout: alignment override bug, background control, and VStack-based alternative. Load when debugging alignment issues inside Form rows, or when row controls (toggles, text fields, pickers) are visually misaligned with their labels on macOS.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fswiftui-macos-form-alignment\u002FSKILL.md",[],[128,129,130,131,132,133,134,135,136,90,137,138,139,140,23,141,82,142],"alignment","form","swiftui","swiftui macos form alignment","macos","text","with","control","layout","issues","labels","fields","controls","debugging","background",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":36},"01M71SHT28R4D9JZANY5PR3966","swiftui-documentation","SwiftUI official doc index — load when building SwiftUI views, modifiers, state management, data flow, AppKit bridging, or any SwiftUI behavior.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fswiftui-documentation\u002FSKILL.md",[],[130,106,150,151,107,108,152,23,111,82,153,114,154,116,155,31,156,117,157,118],"swiftui documentation","data flow","appkit","state","state management","bridging","flow","data",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":36},"01M71SHQF5BMDV4YBZNT21VDZD","swifterm-documentation","SwiftTerm official doc index — load when building SwiftTerm features, terminal emulation, terminal views, process lifecycle, delegate callbacks, GPU rendering, pseudo-terminals, or any SwiftTerm-specific behavior. Any project that uses or interacts with SwiftTerm should load this skill.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fswifterm-documentation\u002FSKILL.md",[],[106,165,166,107,167,168,111,82,169,170,28,171,172,117,108,173,23,134,174,175],"swifterm documentation","emulation","project","delegate","io","terminal","rendering","Callbacks","lifecycle","gpu","github",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":185,"publishedAt":36},"01M71SHM94G4SHFM7083Q85MVK","sqlite-documentation","SQLite official doc index — load when working with SQLite, the C\u002FC++ API, import SQLite3, prepared statements, binding, query execution, result codes, or any SQLite-specific behavior. Any project that uses or interacts with SQLite should load this skill.","https:\u002F\u002Fgithub.com\u002FJustinDFuller\u002Fagent-session-manager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsqlite-documentation\u002FSKILL.md",[182],{"categoryNo":183,"categoryName":184,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000010","后端与接口",[186,106,187,188,107,189,108,167,190,191,23,111,82,192,193,134,116,194,31,195],"sqlite","sqlite documentation","import","c++","execution","codes","query","api","result","binding"]