[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GZBEPD1AP02DFVX2Z3K3J8":3,"skill-same:01M6GZBEPD1AP02DFVX2Z3K3J8":76},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":19,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6GZBEPD1AP02DFVX2Z3K3J8","open-an-incident-and-assign-roles",null,"Use when starting incident response and no one has formally taken command. Names the incident, assigns the four core roles, and opens the single log every later update reads from.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles\u002FSKILL.md",[],[20,21,22,23,24,25,26,27,28,29,30,31,32,33],"open","incident","roles","open an incident and assign roles","assign","incident response","core","update","command","use","log","later","single","when","2026-11-10 10:12:30",false,"---\nname: open-an-incident-and-assign-roles\ndescription: Use when starting incident response and no one has formally taken command. Names the incident, assigns the four core roles, and opens the single log every later update reads from.\n---\n\n# Open an Incident and Assign Roles\n\nAn incident without a named commander drifts: two people chase the same hypothesis, no one talks to customers, and the fix depends on whoever is loudest. Declaring the incident and its roles in the first two minutes prevents that drift.\n\n## Procedure\n\n1. Open one channel or thread and give it a stable id: `\u003Csev>-\u003Cyyyy-mm-dd>-\u003Cshort-slug>`, e.g. `SEV2-2026-04-11-checkout-500s`. Every later artefact references this id.\n2. Assign exactly three roles, even if one person wears two:\n   - **Incident Commander (IC)** — decides and delegates, never debugs. If the IC touches a keyboard to fix, command is unowned.\n   - **Comms Lead** — writes stakeholder and customer updates on the cadence from `run-a-comms-cadence-during-an-incident`.\n   - **Scribe** — keeps the timeline and the decision log (`keep-an-incident-decision-log`).\n3. State the initial severity with `set-incident-severity-levels` and a one-line impact: who is affected and what they cannot do.\n4. Pin the runbook for the affected service at the top of the channel: `docs\u002Frunbooks\u002F\u003Cservice>.md`. If none exists, note it as a followup.\n5. Post a single roll-call message: roles, severity, impact, next update time. Updates must not fan out into DMs.\n6. Start the cadence timer now, not after the next finding — every 15 min for SEV1\u002FSEV2.\n7. Name a deputy IC before anyone leaves the bridge, so command never lapses at a shift gap.\n8. Announce the incident to the on-call channel and the service owner; everyone else is a reader, not a decider.\n9. Set the channel topic to the incident id and the next-update time so late joiners orient without scrolling.\n10. Log the declaration time in the channel — the postmortem's duration maths starts here.\n\n## Pitfalls\n\n- The senior engineer silently becomes the debugger and the IC role evaporates; freeze their hands or hand off command explicitly.\n- Two channels — one in chat and a bridge call — where updates happen in only one and stakeholders miss both.\n- Naming the incident after a symptom that turns out wrong (\"redis-OOM\") so the logs are mislabelled when the cause differs.\n- Assigning roles without saying who relieves them, so command lapses at shift change with no handoff.\n- Broadcasting the roll call to the whole company, so the IC is buried in replies from people who cannot help.\n- Letting the IC also be the scribe, which guarantees the decision log stops the moment the incident gets busy.\n\n## Verification\n\n    grep -E '^(IC|Comms|Scribe):' incident\u002FSEV*-2026-*.md\n    # passes when all three roles have a named owner and an impact line exists\n\nReport the incident id, severity, named roles, and the wall-clock time the next update is due.\n","# Open an Incident and Assign Roles\n\nAn incident without a named commander drifts: two people chase the same hypothesis, no one talks to customers, and the fix depends on whoever is loudest. Declaring the incident and its roles in the first two minutes prevents that drift.\n\n## Procedure\n\n1. Open one channel or thread and give it a stable id: `\u003Csev>-\u003Cyyyy-mm-dd>-\u003Cshort-slug>`, e.g. `SEV2-2026-04-11-checkout-500s`. Every later artefact references this id.\n2. Assign exactly three roles, even if one person wears two:\n   - **Incident Commander (IC)** — decides and delegates, never debugs. If the IC touches a keyboard to fix, command is unowned.\n   - **Comms Lead** — writes stakeholder and customer updates on the cadence from `run-a-comms-cadence-during-an-incident`.\n   - **Scribe** — keeps the timeline and the decision log (`keep-an-incident-decision-log`).\n3. State the initial severity with `set-incident-severity-levels` and a one-line impact: who is affected and what they cannot do.\n4. Pin the runbook for the affected service at the top of the channel: `docs\u002Frunbooks\u002F\u003Cservice>.md`. If none exists, note it as a followup.\n5. Post a single roll-call message: roles, severity, impact, next update time. Updates must not fan out into DMs.\n6. Start the cadence timer now, not after the next finding — every 15 min for SEV1\u002FSEV2.\n7. Name a deputy IC before anyone leaves the bridge, so command never lapses at a shift gap.\n8. Announce the incident to the on-call channel and the service owner; everyone else is a reader, not a decider.\n9. Set the channel topic to the incident id and the next-update time so late joiners orient without scrolling.\n10. Log the declaration time in the channel — the postmortem's duration maths starts here.\n\n## Pitfalls\n\n- The senior engineer silently becomes the debugger and the IC role evaporates; freeze their hands or hand off command explicitly.\n- Two channels — one in chat and a bridge call — where updates happen in only one and stakeholders miss both.\n- Naming the incident after a symptom that turns out wrong (\"redis-OOM\") so the logs are mislabelled when the cause differs.\n- Assigning roles without saying who relieves them, so command lapses at shift change with no handoff.\n- Broadcasting the roll call to the whole company, so the IC is buried in replies from people who cannot help.\n- Letting the IC also be the scribe, which guarantees the decision log stops the moment the incident gets busy.\n\n## Verification\n\n    grep -E '^(IC|Comms|Scribe):' incident\u002FSEV*-2026-*.md\n    # passes when all three roles have a named owner and an impact line exists\n\nReport the incident id, severity, named roles, and the wall-clock time the next update is due.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-12 02:28:42",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill open-an-incident-and-assign-roles",{"tool":54,"command":55},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill open-an-incident-and-assign-roles",{"tool":57,"command":58},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill open-an-incident-and-assign-roles","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles\u002FSKILL.md",true,[62,66,72],{"path":63,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"SOURCE.md","REFERENCE","参考文档",359,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles\u002FSOURCE.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-open-an-incident-and-assign-roles\u002FTRUST.auto.yaml",[77,105,128,146,159,169],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":34},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":109,"licenseFileUrl":110,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":34},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[114,115,116,117,118,119,120,121,122,123,124,125,126,127],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":109,"licenseFileUrl":132,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":34},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[136,115,137,138,139,140,141,125,124,123,142,143,144,119,145,118,117],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":109,"licenseFileUrl":150,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":34},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[154,155,116,156,157,126,124,158,122,121,119,118],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":160,"name":161,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":162,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":34},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[166,167,168],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":173,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":34},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[177,178,179,180,181,182,183,29,184,185,186],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]