[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70HAM02RGT0D76BFZASK6TR":3,"skill-same:01M70HAM02RGT0D76BFZASK6TR":73},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M70HAM02RGT0D76BFZASK6TR","unified-notifications-ops",null,"Operate notifications as one ECC-native workflow across GitHub, Linear, desktop alerts, hooks, and connected communication surfaces. Use when the real problem is alert routing, deduplication, escalation, or inbox collapse.","mdnaimul22\u002Fhuman-skills","mdnaimul22","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F64520358?v=4","01M70FH95MH2H796Q01TYSFZ03","Naimul","01M70FH96798CQR4YHA13F17GA",3,"MIT","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Faffaan-m_ECC\u002Funified-notifications-ops\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"unified notifications ops","notifications","ops","hooks","when","operate","native","problem","as","alerts","across","surfaces","workflow","alert","use","deduplication","escalation","linear","communication","inbox","2026-11-10 10:12:30",false,"---\nname: unified-notifications-ops\ndescription: Operate notifications as one ECC-native workflow across GitHub, Linear, desktop alerts, hooks, and connected communication surfaces. Use when the real problem is alert routing, deduplication, escalation, or inbox collapse.\nmetadata:\n  origin: ECC\n---\n\n# Unified Notifications Ops\n\nUse this skill when the real problem is not a missing ping. The real problem is a fragmented notification system.\n\nThe job is to turn scattered events into one operator surface with:\n- clear severity\n- clear ownership\n- clear routing\n- clear follow-up action\n\n## When to Use\n\n- the user wants a unified notification lane across GitHub, Linear, local hooks, desktop alerts, chat, or email\n- CI failures, review requests, issue updates, and operator events are arriving in disconnected places\n- the current setup creates noise instead of action\n- the user wants to consolidate overlapping notification branches or backlog proposals into one ECC-native lane\n- the workspace already has hooks, MCPs, or connected tools, but no coherent notification policy\n\n## Preferred Surface\n\nStart from what already exists:\n- GitHub issues, PRs, reviews, comments, and CI\n- Linear issue\u002Fproject movement\n- local hook events and session lifecycle signals\n- desktop notification primitives\n- connected email\u002Fchat surfaces when they actually exist\n\nPrefer ECC-native orchestration over telling the user to adopt a separate notification product.\n\n## Non-Negotiable Rules\n\n- never expose tokens, secrets, webhook secrets, or internal identifiers\n- separate:\n  - event source\n  - severity\n  - routing channel\n  - operator action\n- default to digest-first when interruption cost is unclear\n- do not fan out every event to every channel\n- if the real fix is better issue triage, hook policy, or project flow, say so explicitly\n\n## Event Pipeline\n\nTreat the lane as:\n\n1. **Capture** the event\n2. **Classify** urgency and owner\n3. **Route** to the correct channel\n4. **Collapse** duplicates and low-signal churn\n5. **Attach** the next operator action\n\nThe goal is fewer, better notifications.\n\n## Default Severity Model\n\n| Class | Examples | Default handling |\n| --- | --- | --- |\n| Critical | broken default-branch CI, security issue, blocked release, failed deploy | interrupt now |\n| High | review requested, failing PR, owner-blocking handoff | same-day alert |\n| Medium | issue state changes, notable comments, backlog movement | digest or queue |\n| Low | repeat successes, routine churn, redundant lifecycle markers | suppress or fold |\n\nIf the workspace has no severity model, build one before proposing automation.\n\n## Workflow\n\n### 1. Inventory the current surface\n\nList:\n- event sources\n- current channels\n- existing hooks\u002Fscripts that emit alerts\n- duplicate paths for the same event\n- silent failure cases where important things are not being surfaced\n\nCall out what ECC already owns.\n\n### 2. Decide what deserves interruption\n\nFor each event family, answer:\n- who needs to know?\n- how fast do they need to know?\n- should this interrupt, batch, or just log?\n\nUse these defaults:\n- interrupt for release, CI, security, and owner-blocking events\n- digest for medium-signal updates\n- log-only for telemetry and low-signal lifecycle markers\n\n### 3. Collapse duplicates before adding channels\n\nLook for:\n- the same PR event appearing in GitHub, Linear, and local logs\n- repeated hook notifications for the same failure\n- comments or status churn that should be summarized instead of forwarded raw\n- channels that duplicate each other without adding a better action path\n\nPrefer:\n- one canonical summary\n- one owner\n- one primary channel\n- one fallback path\n\n### 4. Design the ECC-native workflow\n\nFor each real notification need, define:\n- **source**\n- **gate**\n- **shape**: immediate alert, digest, queue, or dashboard-only\n- **channel**\n- **action**\n\nIf ECC already has the primitive, prefer:\n- a skill for operator triage\n- a hook for automatic emission\u002Fenforcement\n- an agent for delegated classification\n- an MCP\u002Fconnector only when a real bridge is missing\n\n### 5. Return an action-biased design\n\nEnd with:\n- what to keep\n- what to suppress\n- what to merge\n- what ECC should wrap next\n\n## Output Format\n\n```text\nCURRENT SURFACE\n- sources\n- channels\n- duplicates\n- gaps\n\nEVENT MODEL\n- critical\n- high\n- medium\n- low\n\nROUTING PLAN\n- source -> channel\n- why\n- operator owner\n\nCONSOLIDATION\n- suppress\n- merge\n- canonical summaries\n\nNEXT ECC MOVE\n- skill \u002F hook \u002F agent \u002F MCP\n- exact workflow to build next\n```\n\n## Recommendation Rules\n\n- prefer one strong lane over many weak ones\n- prefer digests for medium and low-signal updates\n- prefer hooks when the signal should emit automatically\n- prefer operator skills when the work is triage, routing, and review-first decision-making\n- prefer `project-flow-ops` when the root cause is backlog \u002F PR coordination rather than alerts\n- prefer `workspace-surface-audit` when the user first needs a source inventory\n- if desktop notifications are enough, do not invent an unnecessary external bridge\n\n## Good Use Cases\n\n- \"We have GitHub, Linear, and local hook alerts, but no single operator flow\"\n- \"Our CI failures are noisy and people ignore them\"\n- \"I want one notification policy across Claude, OpenCode, and Codex surfaces\"\n- \"Figure out what should interrupt versus land in a digest\"\n- \"Collapse overlapping notification PR ideas into one canonical ECC lane\"\n\n## Related Skills\n\n- `workspace-surface-audit`\n- `project-flow-ops`\n- `github-ops`\n- `knowledge-ops`\n- `customer-billing-ops` when the notification pain is billing\u002Fcustomer operations rather than engineering\n","# Unified Notifications Ops\n\nUse this skill when the real problem is not a missing ping. The real problem is a fragmented notification system.\n\nThe job is to turn scattered events into one operator surface with:\n- clear severity\n- clear ownership\n- clear routing\n- clear follow-up action\n\n## When to Use\n\n- the user wants a unified notification lane across GitHub, Linear, local hooks, desktop alerts, chat, or email\n- CI failures, review requests, issue updates, and operator events are arriving in disconnected places\n- the current setup creates noise instead of action\n- the user wants to consolidate overlapping notification branches or backlog proposals into one ECC-native lane\n- the workspace already has hooks, MCPs, or connected tools, but no coherent notification policy\n\n## Preferred Surface\n\nStart from what already exists:\n- GitHub issues, PRs, reviews, comments, and CI\n- Linear issue\u002Fproject movement\n- local hook events and session lifecycle signals\n- desktop notification primitives\n- connected email\u002Fchat surfaces when they actually exist\n\nPrefer ECC-native orchestration over telling the user to adopt a separate notification product.\n\n## Non-Negotiable Rules\n\n- never expose tokens, secrets, webhook secrets, or internal identifiers\n- separate:\n  - event source\n  - severity\n  - routing channel\n  - operator action\n- default to digest-first when interruption cost is unclear\n- do not fan out every event to every channel\n- if the real fix is better issue triage, hook policy, or project flow, say so explicitly\n\n## Event Pipeline\n\nTreat the lane as:\n\n1. **Capture** the event\n2. **Classify** urgency and owner\n3. **Route** to the correct channel\n4. **Collapse** duplicates and low-signal churn\n5. **Attach** the next operator action\n\nThe goal is fewer, better notifications.\n\n## Default Severity Model\n\n| Class | Examples | Default handling |\n| --- | --- | --- |\n| Critical | broken default-branch CI, security issue, blocked release, failed deploy | interrupt now |\n| High | review requested, failing PR, owner-blocking handoff | same-day alert |\n| Medium | issue state changes, notable comments, backlog movement | digest or queue |\n| Low | repeat successes, routine churn, redundant lifecycle markers | suppress or fold |\n\nIf the workspace has no severity model, build one before proposing automation.\n\n## Workflow\n\n### 1. Inventory the current surface\n\nList:\n- event sources\n- current channels\n- existing hooks\u002Fscripts that emit alerts\n- duplicate paths for the same event\n- silent failure cases where important things are not being surfaced\n\nCall out what ECC already owns.\n\n### 2. Decide what deserves interruption\n\nFor each event family, answer:\n- who needs to know?\n- how fast do they need to know?\n- should this interrupt, batch, or just log?\n\nUse these defaults:\n- interrupt for release, CI, security, and owner-blocking events\n- digest for medium-signal updates\n- log-only for telemetry and low-signal lifecycle markers\n\n### 3. Collapse duplicates before adding channels\n\nLook for:\n- the same PR event appearing in GitHub, Linear, and local logs\n- repeated hook notifications for the same failure\n- comments or status churn that should be summarized instead of forwarded raw\n- channels that duplicate each other without adding a better action path\n\nPrefer:\n- one canonical summary\n- one owner\n- one primary channel\n- one fallback path\n\n### 4. Design the ECC-native workflow\n\nFor each real notification need, define:\n- **source**\n- **gate**\n- **shape**: immediate alert, digest, queue, or dashboard-only\n- **channel**\n- **action**\n\nIf ECC already has the primitive, prefer:\n- a skill for operator triage\n- a hook for automatic emission\u002Fenforcement\n- an agent for delegated classification\n- an MCP\u002Fconnector only when a real bridge is missing\n\n### 5. Return an action-biased design\n\nEnd with:\n- what to keep\n- what to suppress\n- what to merge\n- what ECC should wrap next\n\n## Output Format\n\n```text\nCURRENT SURFACE\n- sources\n- channels\n- duplicates\n- gaps\n\nEVENT MODEL\n- critical\n- high\n- medium\n- low\n\nROUTING PLAN\n- source -> channel\n- why\n- operator owner\n\nCONSOLIDATION\n- suppress\n- merge\n- canonical summaries\n\nNEXT ECC MOVE\n- skill \u002F hook \u002F agent \u002F MCP\n- exact workflow to build next\n```\n\n## Recommendation Rules\n\n- prefer one strong lane over many weak ones\n- prefer digests for medium and low-signal updates\n- prefer hooks when the signal should emit automatically\n- prefer operator skills when the work is triage, routing, and review-first decision-making\n- prefer `project-flow-ops` when the root cause is backlog \u002F PR coordination rather than alerts\n- prefer `workspace-surface-audit` when the user first needs a source inventory\n- if desktop notifications are enough, do not invent an unnecessary external bridge\n\n## Good Use Cases\n\n- \"We have GitHub, Linear, and local hook alerts, but no single operator flow\"\n- \"Our CI failures are noisy and people ignore them\"\n- \"I want one notification policy across Claude, OpenCode, and Codex surfaces\"\n- \"Figure out what should interrupt versus land in a digest\"\n- \"Collapse overlapping notification PR ideas into one canonical ECC lane\"\n\n## Related Skills\n\n- `workspace-surface-audit`\n- `project-flow-ops`\n- `github-ops`\n- `knowledge-ops`\n- `customer-billing-ops` when the notification pain is billing\u002Fcustomer operations rather than engineering\n",{"name":5,"metadata":49,"description":7},{"origin":50},"ECC","main","74715deacdc69119d739f38916f8ee4f0f979ebf","skills\u002Fstorage\u002Faffaan-m_ECC\u002Funified-notifications-ops",0,"https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills","https:\u002F\u002Fgithub.com\u002Fmdnaimul22","AI Agents Workflows Automation | Specializing in Python, FastAPI, MCP Agents & Custom ERP.","2026-11-11 21:16:57",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add mdnaimul22\u002Fhuman-skills --skill unified-notifications-ops",{"tool":65,"command":66},"bunx","bunx skills add mdnaimul22\u002Fhuman-skills --skill unified-notifications-ops",{"tool":68,"command":69},"pnpm","pnpm dlx skills add mdnaimul22\u002Fhuman-skills --skill unified-notifications-ops","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Faffaan-m_ECC\u002Funified-notifications-ops\u002FSKILL.md",true,[],[74,82,108,130,149,164],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":81},"01M72JT3YP1SQHD0MANGDXQ4RT","higgsfield-websites","Build, edit, and deploy full-stack websites, apps and games via the Higgsfield CLI (`higgsfield website …`). Each is a React 19 + TanStack Start SSR app in one Cloudflare Worker (D1\u002FR2\u002FKV\u002FDO\u002FContainers). THREE product types, picked via `--type` on create: `website` (standalone, no Higgsfield integration — references\u002Fwebsite-flow.md), `app` (Sign in with Higgsfield + fnf SDK, Quanta — references\u002Fapp-flow.md), `game` (realtime multiplayer rooms — references\u002Fgame-flow.md). Routes to the right flow; each carries its own rules and deploy\u002Fpublish gates.\nUse when: \"build me a website\", \"make a landing page\", \"create a web app\", \"build a SaaS dashboard \u002F portfolio\", \"make me a game\", \"deploy this site\", \"publish\". Also owns GAME ART: \"make a spritesheet\", \"tileable texture\", \"animate a 3D character\", game music\u002FSFX — see the game-* references.\nNOT for: single image\u002Fvideo\u002Faudio generation (higgsfield-generate), product photos (higgsfield-product-photoshoot), marketplace cards (higgsfield-marketplace-cards).","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fhiggsfield-ai_skills\u002Fhiggsfield-websites\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":100,"publishedAt":44},"01M70JPK8HAXXA85P7Q8NKZZYG","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fobra_superpowers\u002Fwriting-skills\u002FSKILL.md",[88,91,96,97],{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":98,"categoryName":99,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[101,102,103,104,38,105,106,28,107],"writing","writing skills","editing","deployment","Existing","new","work",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":119,"publishedAt":44},"01M70JP4PHBH1CQVVDWZ94W159","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fobra_superpowers\u002Fwriting-plans\u002FSKILL.md",[114,115,116],{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":117,"categoryName":118,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000030","开发工程师",[101,120,121,122,28,123,124,38,125,126,127,128,129],"writing plans","plans","you","code","for","requirements","task","multi","spec","multi-step task",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"01M70JNTYVGXFZT8PASZ844TH8","verification-before-completion","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fobra_superpowers\u002Fverification-before-completion\u002FSKILL.md",[],[137,138,139,140,141,142,38,143,144,145,28,146,107,147,148],"verification","verification before completion","complete","about","output","assertions","prs","evidence","claim","claims","commands","running",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":44},"01M70JNGVSQDESWN0Q5BPJ875V","using-superpowers","Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fobra_superpowers\u002Fusing-superpowers\u002FSKILL.md",[155],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[157,158,159,160,38,28,161,162,163],"using superpowers","superpowers","conversation","how to","how","find","questions",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":44},"01M70JN57CE588NPYPYTWH1DWG","using-git-worktrees","Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback","https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Fobra_superpowers\u002Fusing-git-worktrees\u002FSKILL.md",[],[171,172,173,174,175,176,28,107,177,178,30,179,180,181,182,121,38,183,184],"using git worktrees","Using git","git","worktrees","git worktrees","implementation","git worktree","worktree","Tools","isolation","fallback","feature","via","workspace"]