[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G1BVB2XZ4MYH2ZBAASZCRZ":3,"skill-same:01M6G1BVB2XZ4MYH2ZBAASZCRZ":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M6G1BVB2XZ4MYH2ZBAASZCRZ","hard-call",null,"oabdelmaksoud\u002FAgention","oabdelmaksoud","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F50699149?v=4","01M6D5CVVN778ZCDP1WHS816SP","Omar Abdelmaksoud","01M6D8A4TE76V3DCSH3D94VG1V",2,"MIT","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fc-level-advisor\u002Fexecutive-mentor\u002Fskills\u002Fhard-call\u002FSKILL.md",[],[18,19],"hard call","call","2026-11-10 10:12:30",false,"# \u002Fem:hard-call — Framework for Decisions With No Good Options\n\n**Command:** `\u002Fem:hard-call \u003Cdecision>`\n\nFor the decisions that keep you up at 3am. Firing a co-founder. Laying off 20% of the team. Killing a product that customers love. Pivoting. Shutting down.\n\nThese decisions don't have a right answer. They have a less wrong answer. This framework helps you find it.\n\n---\n\n## Why These Decisions Are Hard\n\nNot because the data is unclear. Often, the data is clear. They're hard because:\n\n1. **Real people are affected** — someone loses a job, a relationship ends, a team is hurt\n2. **You've been avoiding the decision** — which means the problem is already worse than it was\n3. **Irreversibility** — unlike most business decisions, you can't undo this easily\n4. **You have skin in the game** — your judgment about the right call is clouded by your feelings about it\n\nThe longer you avoid a hard call, the worse the situation usually gets. The company that needed a 10% cut 6 months ago now needs a 25% cut. The co-founder conversation that should have happened at month 4 is happening at month 14.\n\n**Most hard decisions are late decisions.**\n\n---\n\n## The Framework\n\n### Step 1: The Reversibility Test\n\nThe most important question first: **can you undo this?**\n\n- **Reversible** — try it, learn, adjust (fire the vendor, kill the feature, change the strategy)\n- **Partially reversible** — painful to undo but possible (restructure, change co-founder roles)\n- **Irreversible** — cannot be undone (layoff a person, shut down a product with customer lock-in, close a legal entity)\n\nFor irreversible decisions, the bar for certainty is higher. You must do more due diligence before acting. Not because you might be wrong — but because you can't take it back.\n\n**If you're treating a reversible decision like it's irreversible, you're avoiding it.**\n\n### Step 2: The 10\u002F10\u002F10 Framework\n\nAsk three questions about each option:\n\n- **10 minutes from now**: How will you feel immediately after making this decision?\n- **10 months from now**: What will the impact be? Will the problem be solved?\n- **10 years from now**: When you look back, will this have been the right call?\n\nThe 10-minute feeling is usually the least reliable guide. The 10-year view usually clarifies what the right call actually is.\n\n**Most hard decisions look obvious at 10 years. The question is whether you can tolerate the 10-minute pain.**\n\n### Step 3: The Andy Grove Test\n\nAndy Grove's test for strategic decisions: \"If we got replaced tomorrow and a new CEO came in, what would they do?\"\n\nA fresh set of eyes, no emotional investment in the current path, no sunk cost. What's the obvious right call from the outside?\n\nIf the answer is clear to an outsider, the question becomes: why haven't you done it yet?\n\n### Step 4: Stakeholder Impact Mapping\n\nFor each option, map who's affected and how:\n\n| Stakeholder | Option A Impact | Option B Impact | Their reaction |\n|-------------|----------------|----------------|----------------|\n| Affected employees | | | |\n| Remaining team | | | |\n| Customers | | | |\n| Investors | | | |\n| You | | | |\n\nThis isn't about finding the option that hurts nobody — there isn't one. It's about understanding the full picture before you decide.\n\n### Step 5: The Pre-Announcement Test\n\nBefore making the decision: write the announcement. The email to the team, the message to the customer, the conversation you'll have.\n\n**If you can't write that announcement, you're not ready to make the decision.**\n\nWriting it forces you to confront the reality of what you're doing. It also surfaces whether your reasoning holds under examination. \"We're making this change because…\" — does that sentence ring true?\n\n### Step 6: The Communication Plan\n\nHard decisions almost always get harder if communication is bad. The decision itself is not the only thing that matters — how it's done matters enormously.\n\nFor every hard call, plan:\n- **Who needs to know first** (the person directly affected, before anyone else)\n- **How you'll tell them** (in person when possible, never via email for personal impact)\n- **What you'll say** (honest, direct, compassionate — see `references\u002Fhard_things.md`)\n- **What they can ask** (be ready for every question)\n- **What comes next** (give them a clear picture of what happens after)\n\n---\n\n## Decision-Specific Frameworks\n\n### Firing a Co-Founder\nSee `references\u002Fhard_things.md — Co-Founder Conflicts` for full framework.\n\nKey questions to answer first:\n- Is this a performance problem or a values\u002Fculture problem? (Different conversations)\n- Have you been explicit — not hinted, but direct — about the problem?\n- What does the cap table look like and what are the legal implications?\n- Is there a role that works better for them, or is this a full exit?\n- Who needs to know (board, team, investors) and in what order?\n\n**The rule:** If you've been thinking about this for more than 3 months, you already know the answer. The question is when, not whether.\n\n### Layoffs\nKey questions:\n- Is this a one-time reset or the beginning of a longer decline? (One reset is recoverable. Serial layoffs kill culture.)\n- Are you cutting deep enough? (Insufficient layoffs are worse than no layoffs — two rounds destroys trust.)\n- Who owns the announcement and is it direct and honest?\n- What's the severance and is it fair?\n- How do you prevent the best people from leaving after?\n\n**The rule:** Cut once, cut deep, cut with dignity. Uncertainty is worse than clarity.\n\n### Pivoting\nKey questions:\n- Is this a true pivot (new direction) or an optimization (same direction, different tactic)?\n- What are you keeping and what are you abandoning?\n- Do you have evidence the new direction works, or are you running from failure?\n- How do you tell current customers who bought the old vision?\n- What does this do to the board's confidence?\n\n**The rule:** Pivots should be pulled by evidence of new opportunity, not pushed by failure of the current path.\n\n### Killing a Product Line\nKey questions:\n- What happens to customers currently using it?\n- What's the migration path?\n- What do the people who built it do?\n- Is \"kill it\" the right call or is \"sell it\" or \"spin it out\" better?\n- What's the narrative — internally and externally?\n\n---\n\n## The Avoiding-It Test\n\nYou know you've been avoiding a hard call if:\n- You've thought about it every week for more than a month\n- You're hoping the situation will \"resolve itself\"\n- You're waiting for more data that you'll never feel is enough\n- You've had the conversation in your head many times but not in real life\n- Other people around you have noticed the problem\n\n**The cost of delay is almost always higher than the cost of the decision.**\n\nEvery month you wait, the problem compounds. The co-founder who's not working out becomes more entrenched. The product line that needs to die consumes more resources. The person who needs to be let go affects the people around them.\n\nMake the call. Make it clearly. Make it with dignity.\n",{},"main","a318f48de3c5718e8ea2e9f6fae7790e8a759e85","upstream-sync\u002Fwork\u002Fclaude-skills\u002Fc-level-advisor\u002Fexecutive-mentor\u002Fskills\u002Fhard-call",0,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fo-abdelmaksoud\u002F","Full-Stack Engineer | AI Systems Architect | Building autonomous multi-agent systems","2026-03-08 21:23:03",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add oabdelmaksoud\u002FAgention --skill hard-call",{"tool":39,"command":40},"bunx","bunx skills add oabdelmaksoud\u002FAgention --skill hard-call",{"tool":42,"command":43},"pnpm","pnpm dlx skills add oabdelmaksoud\u002FAgention --skill hard-call","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fc-level-advisor\u002Fexecutive-mentor\u002Fskills\u002Fhard-call\u002FSKILL.md",true,[],[48,72,86,119,145,165],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":59,"publishedAt":20},"01M6G2QFCBNBYAJF2KTK85G9A6","visa-doc-translate","Translate visa application documents (images) to English and create a bilingual PDF with original and translation","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fvisa-doc-translate\u002FSKILL.md",[54],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[60,61,62,63,64,65,66,67,68,69,70,71],"translate","doc","visa doc translate","bilingual","with","english","application","PDF","translation","documents","create","images",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":20},"01M6G2QB09TSK6BY4ME5X20EVQ","verification-loop","A comprehensive verification system for Claude Code sessions.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[79,80,81,82,83,84,85],"verification","loop","verification loop","sessions","code","claude code sessions","system",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":103,"publishedAt":20},"01M6G2Q6V2F7G03VAAF27FXPJR","tdd-workflow","Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Ftdd-workflow\u002FSKILL.md",[92,95,98],{"categoryNo":93,"categoryName":94,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":96,"categoryName":97,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[104,105,106,107,108,109,110,111,112,83,113,114,115,116,64,117,118],"workflow","tdd","tdd workflow","use","unit","coverage","refactoring","e2e","integration","development","e2e tests","tests","driven","test","writing",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":20},"01M6G2Q359YJRWAR2PFCEQAXF3","swiftui-patterns","SwiftUI architecture patterns, state management with @Observable, view composition, navigation, performance optimization, and modern iOS\u002FmacOS UI best practices.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswiftui-patterns\u002FSKILL.md",[],[126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,64],"patterns","swiftui","swiftui patterns","architecture","macos","performance","state management","best practices","state","ui","Optimization","ios","architecture patterns","Composition","performance optimization","view","management","swiftui architecture","navigation",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":20},"01M6G2PY8B2FWZTWPZ84H83Y7C","swift-protocol-di-testing","Protocol-based dependency injection for testable Swift code — mock file system, network, and external APIs using focused protocols and Swift Testing.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-protocol-di-testing\u002FSKILL.md",[151],{"categoryNo":93,"categoryName":94,"taxonomyType":57,"taxonomyTypeDesc":58},[153,154,155,156,83,157,158,159,160,85,161,162,163,164],"swift protocol di testing","protocol","swift","testing","protocols","file","network","injection","dependency","swift testing","dependency injection","mock",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":20},"01M6G2PSCN2GXV9FFZDRRRWVB6","swift-concurrency-6-2","Swift 6.2 Approachable Concurrency — single-threaded by default, @concurrent for explicit background offloading, isolated conformances for main actor types.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-concurrency-6-2\u002FSKILL.md",[],[172,173,174,155,175,24,176],"concurrency","swift concurrency","swift concurrency 6 2","default","types"]