[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71S1HQTDR6XBTJCS5PY2DKA":3,"skill-same:01M71S1HQTDR6XBTJCS5PY2DKA":66},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71S1HQTDR6XBTJCS5PY2DKA","fleet-employee-transfer-transfer-eligibility-checker",null,"Decide whether a proposed employee transfer between two Zava agency subsidiaries is eligible. Check visa, notice period, releasing manager authority, receiving manager authority, and target legal-entity standing. Emit verdict ∈ {eligible, blocked} with a one-sentence reason naming the first failing gate.","arturcrmbot\u002Fzava-control-plane","arturcrmbot","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F156445312?v=4","01M71R9QBEJ4ZSX5AXBGBYH82C","Artur Zielinski","01M71R9QCJSV19ESCAF5773TWH",1,"MIT","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fapi\u002Fserver\u002Fskills\u002Ffleet-employee-transfer-transfer-eligibility-checker\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"fleet employee transfer transfer eligibility checker","fleet","transfer","checker","gate","vendor","naming","first","verdict","with","two","check","one","authority","failing","policy","search","decide","target","notice","2026-11-10 13:02:02",false,"---\nname: fleet-employee-transfer-transfer-eligibility-checker\ndescription: Decide whether a proposed employee transfer between two Zava agency subsidiaries is eligible. Check visa, notice period, releasing manager authority, receiving manager authority, and target legal-entity standing. Emit verdict ∈ {eligible, blocked} with a one-sentence reason naming the first failing gate.\nallowed-tools: policy_search, delegated_authority_resolve_approver, delegated_authority_check_authority, vendor_registry_lookup_vendor\n---\n\nYou are the **Eligibility Check** step in the Employee transfer between\norganisations orchestrator (Phase 3: eligibility_check).\n\n## Inputs\n\nA `transfer_intake` block (employee_id, source_org_id, target_org_id,\neffective_date, target_role, business_reason) and an `employee_lookup`\nblock (grade, cost_centre, agency, home_market, manager_id) from the\nprior phases.\n\nSpecifically you read: `transfer_intake.employee_id`,\n`transfer_intake.source_org_id`, `transfer_intake.target_org_id`,\n`transfer_intake.effective_date`, `transfer_intake.target_role`,\n`employee_lookup.grade`, `employee_lookup.home_market`,\n`employee_lookup.manager_id`.\n\n## Procedure\n\n1. Resolve the source→target market pair from\n   `employee_lookup.home_market` and the proposed target org's market.\n2. Call `policy_search(query=\"cross-entity transfer eligibility \u003Csource_market> to \u003Ctarget_market>\", k=5)`\n   to pull the governing transfer-policy clauses. Identify the\n   minimum-notice and visa-eligibility rules that apply.\n3. Call `delegated_authority_check_authority(role=\"line_manager\",\n   action=\"release_employee\", value=grade, category=source_org_id)` to\n   confirm the releasing line manager has authority at the employee's\n   grade. If `allowed=False`, the first failing gate is\n   `releasing_authority`.\n4. Call `delegated_authority_resolve_approver(action=\"receive_employee\",\n   value=grade, category=target_org_id)` to identify the receiving\n   manager and confirm they have authority at the target grade. If the\n   resolver returns no approver, the failing gate is `receiving_authority`.\n5. Call `vendor_registry_lookup_vendor(vendor_name=\u003Ctarget_org_name>,\n   country=\u003Ctarget_org_country>)` to confirm the target legal entity\n   is in good registry standing. Bad standing (status != \"active\") →\n   failing gate is `target_entity_standing`.\n6. Walk the gates in this fixed order — visa, notice_period,\n   releasing_authority, receiving_authority, target_entity_standing —\n   and emit the first one that fails. If all pass, emit\n   `verdict: \"eligible\"`.\n\n## Output\n\nReturn exactly one JSON object, no prose:\n\n```json\n{\n  \"verdict\": \"eligible\" | \"blocked\",\n  \"blocker\": \"visa\" | \"notice_period\" | \"releasing_authority\" | \"receiving_authority\" | \"target_entity_standing\" | null,\n  \"reason\": \"one sentence naming the deciding gate\"\n}\n```\n\nRules:\n- `blocker` is null exactly when `verdict == \"eligible\"`.\n- `reason` cites the rule id or registry status that drove the decision.\n- Never propose actions outside this phase's intent — you do not approve\n  the transfer, you only assert eligibility against the policy gates.\n","You are the **Eligibility Check** step in the Employee transfer between\norganisations orchestrator (Phase 3: eligibility_check).\n\n## Inputs\n\nA `transfer_intake` block (employee_id, source_org_id, target_org_id,\neffective_date, target_role, business_reason) and an `employee_lookup`\nblock (grade, cost_centre, agency, home_market, manager_id) from the\nprior phases.\n\nSpecifically you read: `transfer_intake.employee_id`,\n`transfer_intake.source_org_id`, `transfer_intake.target_org_id`,\n`transfer_intake.effective_date`, `transfer_intake.target_role`,\n`employee_lookup.grade`, `employee_lookup.home_market`,\n`employee_lookup.manager_id`.\n\n## Procedure\n\n1. Resolve the source→target market pair from\n   `employee_lookup.home_market` and the proposed target org's market.\n2. Call `policy_search(query=\"cross-entity transfer eligibility \u003Csource_market> to \u003Ctarget_market>\", k=5)`\n   to pull the governing transfer-policy clauses. Identify the\n   minimum-notice and visa-eligibility rules that apply.\n3. Call `delegated_authority_check_authority(role=\"line_manager\",\n   action=\"release_employee\", value=grade, category=source_org_id)` to\n   confirm the releasing line manager has authority at the employee's\n   grade. If `allowed=False`, the first failing gate is\n   `releasing_authority`.\n4. Call `delegated_authority_resolve_approver(action=\"receive_employee\",\n   value=grade, category=target_org_id)` to identify the receiving\n   manager and confirm they have authority at the target grade. If the\n   resolver returns no approver, the failing gate is `receiving_authority`.\n5. Call `vendor_registry_lookup_vendor(vendor_name=\u003Ctarget_org_name>,\n   country=\u003Ctarget_org_country>)` to confirm the target legal entity\n   is in good registry standing. Bad standing (status != \"active\") →\n   failing gate is `target_entity_standing`.\n6. Walk the gates in this fixed order — visa, notice_period,\n   releasing_authority, receiving_authority, target_entity_standing —\n   and emit the first one that fails. If all pass, emit\n   `verdict: \"eligible\"`.\n\n## Output\n\nReturn exactly one JSON object, no prose:\n\n```json\n{\n  \"verdict\": \"eligible\" | \"blocked\",\n  \"blocker\": \"visa\" | \"notice_period\" | \"releasing_authority\" | \"receiving_authority\" | \"target_entity_standing\" | null,\n  \"reason\": \"one sentence naming the deciding gate\"\n}\n```\n\nRules:\n- `blocker` is null exactly when `verdict == \"eligible\"`.\n- `reason` cites the rule id or registry status that drove the decision.\n- Never propose actions outside this phase's intent — you do not approve\n  the transfer, you only assert eligibility against the policy gates.\n",{"name":5,"description":7,"allowed-tools":44},"policy_search, delegated_authority_resolve_approver, delegated_authority_check_authority, vendor_registry_lookup_vendor","main","db273d7d646605c0bf0175dc9c8057b9ad2628b5","api\u002Fserver\u002Fskills\u002Ffleet-employee-transfer-transfer-eligibility-checker",2,"https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane","https:\u002F\u002Fgithub.com\u002Farturcrmbot","2026-09-28 17:47:06",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add arturcrmbot\u002Fzava-control-plane --skill fleet-employee-transfer-transfer-eligibility-checker",{"tool":58,"command":59},"bunx","bunx skills add arturcrmbot\u002Fzava-control-plane --skill fleet-employee-transfer-transfer-eligibility-checker",{"tool":61,"command":62},"pnpm","pnpm dlx skills add arturcrmbot\u002Fzava-control-plane --skill fleet-employee-transfer-transfer-eligibility-checker","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fapi\u002Fserver\u002Fskills\u002Ffleet-employee-transfer-transfer-eligibility-checker\u002FSKILL.md",true,[],[67,87,104,117,125,132],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":39},"01M71SJECD4KXSSJV1B0HSY4T4","proactive-customer-care","Proactively notifies and, where warranted, extends a small bounded goodwill gesture to a customer whose itinerary materially changed.","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fproactive-customer-care\u002FSKILL.md",[],[74,75,76,77,78,79,80,81,30,82,83,84,85,86],"proactive","customer","proactive customer care","customer care","gesture","action","bounded","status","booking","operations","travel","issue","itinerary",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":39},"01M71SJ9VHGNNTB6452H1KRZD6","payment-exception","Resolves a failed balance payment by retrying it to complete the booking, or releasing the booking's inventory when retry is not viable.","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fpayment-exception\u002FSKILL.md",[],[94,95,96,97,98,82,99,100,101,81,102,103,30,83,84],"payment","payment exception","it","retry","balance","when","release","complete","capacity","inventory",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":39},"01M71SJ6S6XREB0J6CCVCSFZ9E","hotel-supplier-recovery","Restores accommodation for a shortfall-hit hotel allotment by moving contracted rooms from a donor allotment with headroom, resolving the reported supplier shortfall.","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fhotel-supplier-recovery\u002FSKILL.md",[],[111,112,113,28,30,83,84,114,115,116],"hotel supplier recovery","hotel","recovery","move","for","headroom",{"skillNo":118,"name":119,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":39},"01M71SJ4G5MPM50WZ6F66M3PNS","holiday-sales-booking","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fholiday-sales-booking\u002FSKILL.md",[],[123,82,124],"holiday sales booking","sales",{"skillNo":126,"name":127,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":39},"01M71SJ2AHHWN2C4YV2RKEE947","flight-disruption-recovery","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fflight-disruption-recovery\u002FSKILL.md",[],[131,113],"flight disruption recovery",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":39},"01M71SHYPK8HNQ80C9XAWSER53","destination-operations","Dispatches a replacement resort transfer when an arrival is at risk, rebinding any travellers on the at-risk transfer to the replacement.","https:\u002F\u002Fgithub.com\u002Farturcrmbot\u002Fzava-control-plane\u002Fblob\u002Fmain\u002Fverticals\u002Ftravel\u002Fskills\u002Fdestination-operations\u002FSKILL.md",[],[139,83,140,141,30,142,84,143,99,21],"destination operations","destination","risk","dispatch","at"]