[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AC6BDVBXGFFC3VR0F19DZZ":3,"skill-same:01M6AC6BDVBXGFFC3VR0F19DZZ":61},{"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":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6AC6BDVBXGFFC3VR0F19DZZ","analyze-log-signals",null,"Analyze reviewed Grafana log evidence for event patterns, error-rate changes, and enrolled security markers. Use when a user needs bounded log analytics for an incident window, error-log comparison, anomaly triage, operational debugging, or a cautious check of approved security signals.","openai\u002Fcommunity-plugins","openai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14957082?v=4","01M6AC29YGCR4S2NTJFV0G8B81","OpenAI","01M6AC5WQR6C9PX4PQWD6S1KTD",21,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgrafana-observability\u002Fskills\u002Fanalyze-log-signals\u002FSKILL.md",[],[19,20,21,22,23],"analyze log signals","security","triage","analytics","debugging","2026-11-10 10:12:30",false,"---\nname: analyze-log-signals\ndescription: Analyze reviewed Grafana log evidence for event patterns, error-rate changes, and enrolled security markers. Use when a user needs bounded log analytics for an incident window, error-log comparison, anomaly triage, operational debugging, or a cautious check of approved security signals.\n---\n\n# Analyze Log Signals\n\nRun the fixed `grafana.logs` pack and analyze only the normalized, redacted events and aggregates it returns.\n\n## Safety contract\n\n- Use only `grafana_profile_status`, `grafana_list_packs`, `grafana_run_pack`, `grafana_get_evidence`, and `grafana_resolve_link`.\n- Accept only profile and scope aliases; one declared `LIVE`, `REPLAY`, or `SIMULATED` origin; bounded current and baseline windows; and opaque references returned by these tools.\n- Never accept or construct LogQL, PromQL, SQL, regex searches, URLs, headers, datasource IDs, panel JSON, variables, or raw provider requests.\n- Do not request broader logs to compensate for an empty result. Scope expansion requires a separately reviewed server-side binding.\n- Keep logs, Grafana, alerts, datasources, and runtime state read-only. Do not reveal or reconstruct redacted content.\n- Confirm `LIVE` access and keep `LIVE`, `REPLAY`, and `SIMULATED` conclusions separate.\n\n## Workflow\n\n1. Establish `profileAlias`, `scopeAlias`, origin, and a current window no longer than seven days. Use an equal-duration, non-overlapping baseline when evaluating a change in error logs.\n2. Call `grafana_profile_status({profileAlias})`. Stop on `ERROR` or blocked readiness; disclose `PARTIAL` readiness.\n3. Call `grafana_list_packs({profileAlias})` and require the exact active pack ID `grafana.logs`.\n4. Create one non-secret idempotency key and reuse it only for an exact retry.\n5. Call `grafana_run_pack` with that key, the aliases, `packId: \"grafana.logs\"`, origin, current window, and optional baseline window.\n6. Review log event volume, log error rate, and any returned enrolled security-marker signal. Preserve event times, summaries, units, severity, direction, and ordering.\n7. Call `grafana_get_evidence({reportRef,evidenceRef})` only for report-owned references needed to verify a pattern or issue. Summarize bounded patterns; do not reproduce sensitive event content unnecessarily.\n8. Call `grafana_resolve_link({reportRef,linkRef})` only for a same-report link reference that helps a human inspect the enrolled Grafana view. Never accept a URL as input.\n\nUse anomaly, regression, or security-event language only when a returned issue has `classification: SIGNED_RULE` and its returned kind and evidence support that label. A marker is not proof of exploitation, attribution, or impact. Treat `classification: DEVIATION` only as a deviation and state the uncertainty.\n\n## Interpret report status exactly\n\n- `COMPLETE`: expected log evidence completed; assess its returned signals rather than assuming there were no problems.\n- `EMPTY`: no usable events were returned for the approved scope and window; this is not proof that no events occurred.\n- `STALE`: events are too old for a current claim; report their observed and collected times.\n- `PARTIAL`: an expected signal, enrolled security marker, or baseline is missing, failed, or mixed; identify the gap.\n- `CONTRADICTORY`: evidence conflicts; cite both sides and do not collapse them into one narrative.\n- `ERROR`: collection failed or was rejected; report the sanitized error and stop.\n\n## Completion format\n\nReturn scope, origin, windows, overall status, event and error-rate summary with returned severity and direction, issues and security markers with their returned classification, gaps or contradictions, evidence references for every material claim, and only successfully resolved report-owned links.\n","# Analyze Log Signals\n\nRun the fixed `grafana.logs` pack and analyze only the normalized, redacted events and aggregates it returns.\n\n## Safety contract\n\n- Use only `grafana_profile_status`, `grafana_list_packs`, `grafana_run_pack`, `grafana_get_evidence`, and `grafana_resolve_link`.\n- Accept only profile and scope aliases; one declared `LIVE`, `REPLAY`, or `SIMULATED` origin; bounded current and baseline windows; and opaque references returned by these tools.\n- Never accept or construct LogQL, PromQL, SQL, regex searches, URLs, headers, datasource IDs, panel JSON, variables, or raw provider requests.\n- Do not request broader logs to compensate for an empty result. Scope expansion requires a separately reviewed server-side binding.\n- Keep logs, Grafana, alerts, datasources, and runtime state read-only. Do not reveal or reconstruct redacted content.\n- Confirm `LIVE` access and keep `LIVE`, `REPLAY`, and `SIMULATED` conclusions separate.\n\n## Workflow\n\n1. Establish `profileAlias`, `scopeAlias`, origin, and a current window no longer than seven days. Use an equal-duration, non-overlapping baseline when evaluating a change in error logs.\n2. Call `grafana_profile_status({profileAlias})`. Stop on `ERROR` or blocked readiness; disclose `PARTIAL` readiness.\n3. Call `grafana_list_packs({profileAlias})` and require the exact active pack ID `grafana.logs`.\n4. Create one non-secret idempotency key and reuse it only for an exact retry.\n5. Call `grafana_run_pack` with that key, the aliases, `packId: \"grafana.logs\"`, origin, current window, and optional baseline window.\n6. Review log event volume, log error rate, and any returned enrolled security-marker signal. Preserve event times, summaries, units, severity, direction, and ordering.\n7. Call `grafana_get_evidence({reportRef,evidenceRef})` only for report-owned references needed to verify a pattern or issue. Summarize bounded patterns; do not reproduce sensitive event content unnecessarily.\n8. Call `grafana_resolve_link({reportRef,linkRef})` only for a same-report link reference that helps a human inspect the enrolled Grafana view. Never accept a URL as input.\n\nUse anomaly, regression, or security-event language only when a returned issue has `classification: SIGNED_RULE` and its returned kind and evidence support that label. A marker is not proof of exploitation, attribution, or impact. Treat `classification: DEVIATION` only as a deviation and state the uncertainty.\n\n## Interpret report status exactly\n\n- `COMPLETE`: expected log evidence completed; assess its returned signals rather than assuming there were no problems.\n- `EMPTY`: no usable events were returned for the approved scope and window; this is not proof that no events occurred.\n- `STALE`: events are too old for a current claim; report their observed and collected times.\n- `PARTIAL`: an expected signal, enrolled security marker, or baseline is missing, failed, or mixed; identify the gap.\n- `CONTRADICTORY`: evidence conflicts; cite both sides and do not collapse them into one narrative.\n- `ERROR`: collection failed or was rejected; report the sanitized error and stop.\n\n## Completion format\n\nReturn scope, origin, windows, overall status, event and error-rate summary with returned severity and direction, issues and security markers with their returned classification, gaps or contradictions, evidence references for every material claim, and only successfully resolved report-owned links.\n",{"name":5,"description":7},"main","62844ca1cd865b76c7fed7180fc1ffef16e9167b","plugins\u002Fgrafana-observability\u002Fskills\u002Fanalyze-log-signals",15,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins","https:\u002F\u002Fgithub.com\u002Fopenai","https:\u002F\u002Fopenai.com\u002F","2026-11-11 20:25:57",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add openai\u002Fcommunity-plugins --skill analyze-log-signals",{"tool":43,"command":44},"bunx","bunx skills add openai\u002Fcommunity-plugins --skill analyze-log-signals",{"tool":46,"command":47},"pnpm","pnpm dlx skills add openai\u002Fcommunity-plugins --skill analyze-log-signals","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgrafana-observability\u002Fskills\u002Fanalyze-log-signals\u002FSKILL.md",true,[51,57],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"AGENTS.md","REFERENCE","参考文档",1867,"https:\u002F\u002Fgithub.com\u002Fkris-steinhoff\u002Fdotfiles\u002Fblob\u002Fmain\u002Fdot_claude\u002Fskills\u002Fdrive-implementation\u002FAGENTS.md",{"path":58,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":59,"sourceHtmlUrl":60},"agents\u002Fopenai.yaml",275,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgrafana-observability\u002Fskills\u002Fanalyze-log-signals\u002Fagents\u002Fopenai.yaml",[62,73,83,92,101,114],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":24},"01M6AC730FQT0TJT60GJ8GZ368","recommend-review-reference-architecture","Recommend a conservative shadow-only review reference architecture from valid offline evidence. Use only when the user explicitly asks for a reference-architecture recommendation or uses the bundled synthetic fixture.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freviewops-auditor-benchmark\u002Fskills\u002Frecommend-review-reference-architecture\u002FSKILL.md",[],[69,70,71,72],"recommend review reference architecture","architecture","review","valid",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":24},"01M6AC70XH1PBTCTMM65PBTGGQ","normalize-review-runs","Validate and normalize declared local review-run exports into a bounded canonical summary. Use only when the user explicitly asks to normalize review runs or use the bundled synthetic fixture.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freviewops-auditor-benchmark\u002Fskills\u002Fnormalize-review-runs\u002FSKILL.md",[],[80,71,81,82],"normalize review runs","validate","run",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":24},"01M6AC6ZAD4YMQVGM0KD5EEVX1","benchmark-review-configs","Deterministically score comparable imported review-run lanes with root-cause metrics and uncertainty. Use only when the user explicitly asks to benchmark normalized local review runs or use the bundled synthetic fixture.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freviewops-auditor-benchmark\u002Fskills\u002Fbenchmark-review-configs\u002FSKILL.md",[],[90,91,71,82],"benchmark review configs","benchmark",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":24},"01M6AC6X72JX5E4T3GRX8G63CR","audit-review-eval-validity","Audit whether a declared local review evaluation can support fair quality claims. Use only when the user explicitly asks to audit review-eval validity or use the bundled synthetic fixture.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freviewops-auditor-benchmark\u002Fskills\u002Faudit-review-eval-validity\u002FSKILL.md",[],[99,71,100],"audit review eval validity","support",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":112,"publishedAt":24},"01M6AC6VQ2RRQG8Y8B7G6XCC5A","verify-swiftui-parity","Verify one approved SwiftUI feature slice against its behavioral parity contract with deterministic and conditional Apple-platform checks.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freact-native-to-swiftui\u002Fskills\u002Fverify-swiftui-parity\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[113],"verify swiftui parity",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":126,"publishedAt":24},"01M6AC6SYEBFZJ2DVM44HEP64N","port-react-native-slice","Port one explicitly approved React Native or Expo feature slice into a declared SwiftUI target while preserving its parity contract.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcommunity-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freact-native-to-swiftui\u002Fskills\u002Fport-react-native-slice\u002FSKILL.md",[120,125],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},[127,128],"react","port react native slice"]