AGENT SKILL

fleet-employee-transfer-transfer-eligibility-checker

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.

License 许可
MIT
最近更新
2026-09-28
Stars
★ 1
Forks
2

01 前言 Front Matter

name
fleet-employee-transfer-transfer-eligibility-checker
description
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.
allowed-tools
policy_search, delegated_authority_resolve_approver, delegated_authority_check_authority, vendor_registry_lookup_vendor

03 SKILL.md 正文

You are the Eligibility Check step in the Employee transfer between organisations orchestrator (Phase 3: eligibility_check).

Inputs

A transfer_intake block (employee_id, source_org_id, target_org_id, effective_date, target_role, business_reason) and an employee_lookup block (grade, cost_centre, agency, home_market, manager_id) from the prior phases.

Specifically you read: transfer_intake.employee_id, transfer_intake.source_org_id, transfer_intake.target_org_id, transfer_intake.effective_date, transfer_intake.target_role, employee_lookup.grade, employee_lookup.home_market, employee_lookup.manager_id.

Procedure

  1. Resolve the source→target market pair from employee_lookup.home_market and the proposed target org's market.
  2. Call policy_search(query="cross-entity transfer eligibility <source_market> to <target_market>", k=5) to pull the governing transfer-policy clauses. Identify the minimum-notice and visa-eligibility rules that apply.
  3. Call delegated_authority_check_authority(role="line_manager", action="release_employee", value=grade, category=source_org_id) to confirm the releasing line manager has authority at the employee's grade. If allowed=False, the first failing gate is releasing_authority.
  4. Call delegated_authority_resolve_approver(action="receive_employee", value=grade, category=target_org_id) to identify the receiving manager and confirm they have authority at the target grade. If the resolver returns no approver, the failing gate is receiving_authority.
  5. Call vendor_registry_lookup_vendor(vendor_name=<target_org_name>, country=<target_org_country>) to confirm the target legal entity is in good registry standing. Bad standing (status != "active") → failing gate is target_entity_standing.
  6. Walk the gates in this fixed order — visa, notice_period, releasing_authority, receiving_authority, target_entity_standing — and emit the first one that fails. If all pass, emit verdict: "eligible".

Output

Return exactly one JSON object, no prose:

{
  "verdict": "eligible" | "blocked",
  "blocker": "visa" | "notice_period" | "releasing_authority" | "receiving_authority" | "target_entity_standing" | null,
  "reason": "one sentence naming the deciding gate"
}

Rules:

  • blocker is null exactly when verdict == "eligible".
  • reason cites the rule id or registry status that drove the decision.
  • Never propose actions outside this phase's intent — you do not approve the transfer, you only assert eligibility against the policy gates.

04 同仓库更多 Skills