{
  "schemaVersion": "1.0",
  "item": {
    "slug": "full-lp-workflow",
    "name": "Uniswap Full Lp Workflow",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/wpank/full-lp-workflow",
    "canonicalUrl": "https://clawhub.ai/wpank/full-lp-workflow",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/full-lp-workflow",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=full-lp-workflow",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/full-lp-workflow"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/full-lp-workflow",
    "agentPageUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent",
    "manifestUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "This is the most complex multi-agent orchestration in the system. It turns a single intent -- \"I have $20K, find me the best yield\" -- into a fully researched, risk-assessed, optimally-structured LP position through a 6-agent pipeline.\n\nWhy this is 10x better than calling agents individually:\n\nEnd-to-end automation: Manually, you'd need to scan opportunities, research pools, design a strategy, assess risk, potentially swap tokens, add liquidity, and verify -- each requiring different tools and expertise. This does it all in one command.\nIntelligent pipeline with compound context: Each agent builds on all prior agents' findings. The lp-strategist doesn't just get a token pair -- it gets the opportunity-scanner's full analysis of why this pool is optimal. The risk-assessor evaluates the actual strategy designed by the lp-strategist, not a generic assessment.\nTwo user confirmation points: Before spending any money (swap) and before committing capital (LP entry), the skill pauses for explicit user approval. You stay in control.\nConditional swap step: If you don't hold the right tokens for the LP position, the skill automatically handles the token swap -- but only after showing you exactly what it plans to do.\nPortfolio impact reporting: After entering the position, the portfolio-analyst shows you exactly how your portfolio changed, with ongoing monitoring instructions.\nFailure recovery at every stage: If any agent fails mid-pipeline, you see what was accomplished and get recovery suggestions."
      },
      {
        "title": "When to Use",
        "body": "Activate when the user says anything like:\n\n\"I have $20K, find the best LP opportunity and enter\"\n\"Autonomous LP: find yield and enter position\"\n\"Full LP workflow with $10,000\"\n\"Find me the best yield and set up a position\"\n\"I want to LP but don't know where -- find the best option\"\n\"Put $5K to work in Uniswap -- find the best opportunity\"\n\"End-to-end LP: scan, strategize, and enter\"\n\"What's the best LP opportunity right now? Set it up for me\"\n\nDo NOT use when the user already knows which pool they want (use manage-liquidity instead), just wants strategy comparison without execution (use lp-strategy), or just wants to scan without entering (use scan-opportunities)."
      },
      {
        "title": "Parameters",
        "body": "ParameterRequiredDefaultHow to ExtractcapitalYes--Total capital to deploy: \"$20,000\", \"10 ETH\", \"$5K\"chainNoallTarget chain or \"all\" for cross-chain scanriskToleranceNomoderate\"conservative\", \"moderate\", \"aggressive\"pairPreferenceNo--Optional token pair preference: \"ETH/USDC\", \"stablecoin pairs\"excludeTokensNo--Tokens to exclude: \"PEPE, SHIB\" (avoid memecoins, etc.)capitalTokenNoauto-detectWhat token the capital is in: \"USDC\", \"ETH\", auto-detect from wallet\n\nIf the user doesn't provide capital amount, ask for it -- never guess how much to deploy."
      },
      {
        "title": "Workflow",
        "body": "FULL LP WORKFLOW PIPELINE\n  ┌─────────────────────────────────────────────────────────────────────┐\n  │                                                                     │\n  │  Step 1: SCAN (opportunity-scanner)                                 │\n  │  ├── Scan LP opportunities across chains                            │\n  │  ├── Filter by risk tolerance and capital size                      │\n  │  ├── Rank top 3-5 by risk-adjusted yield                           │\n  │  └── Output: Ranked Opportunity List                                │\n  │          │                                                          │\n  │          ▼ USER CHOICE POINT                                        │\n  │  ┌───────────────────────────────────────────────────┐              │\n  │  │  Present top opportunities to user.               │              │\n  │  │  User picks one OR accepts recommendation (#1).   │              │\n  │  └───────────────────────────────────────────────────┘              │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 2: STRATEGIZE (lp-strategist)                                 │\n  │  ├── Design optimal strategy for chosen opportunity                 │\n  │  ├── Version, fee tier, range width, rebalance plan                 │\n  │  ├── Conservative/moderate/optimistic APY estimates                 │\n  │  └── Output: LP Strategy Recommendation                             │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 3: RISK CHECK (risk-assessor)                                 │\n  │  ├── Receives: opportunity data + strategy details                  │\n  │  ├── Evaluates: IL, slippage, liquidity, smart contract             │\n  │  ├── Decision: APPROVE / CONDITIONAL / VETO / HARD_VETO            │\n  │  └── Output: Risk Assessment Report                                 │\n  │          │                                                          │\n  │          ▼ CONDITIONAL GATE                                         │\n  │  ┌───────────────────────────────────────────────────┐              │\n  │  │  APPROVE / COND. APPROVE → Continue               │              │\n  │  │  VETO / HARD_VETO → STOP with full report         │              │\n  │  └───────────────────────────────────────────────────┘              │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 4: SWAP IF NEEDED (trade-executor) -- CONDITIONAL             │\n  │  ├── Check wallet balances vs required tokens                       │\n  │  ├── If tokens needed: calculate swap amounts                       │\n  │  ├── USER CONFIRMATION #1: \"Swap X for Y to prepare for LP?\"       │\n  │  ├── Execute swap(s) if confirmed                                   │\n  │  └── Output: Swap result OR \"tokens already held\"                   │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 5: ENTER POSITION (liquidity-manager)                         │\n  │  ├── USER CONFIRMATION #2: \"Add liquidity with these params?\"      │\n  │  ├── Handle approvals (Permit2)                                     │\n  │  ├── Add liquidity at recommended range                             │\n  │  ├── Wait for transaction confirmation                              │\n  │  └── Output: Position ID, amounts deposited, tick range             │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 6: CONFIRM & REPORT (portfolio-analyst)                       │\n  │  ├── Verify position was created successfully                       │\n  │  ├── Show portfolio impact (before vs after)                        │\n  │  ├── Monitoring instructions                                        │\n  │  └── Output: Portfolio Report + Next Steps                          │\n  │                                                                     │\n  └─────────────────────────────────────────────────────────────────────┘"
      },
      {
        "title": "Step 0: Pre-Flight",
        "body": "Before starting the pipeline:\n\nCheck safety status via mcp__uniswap__check_safety_status -- verify spending limits can accommodate the capital amount.\nCheck wallet balance via mcp__uniswap__get_agent_balance on the target chain(s) -- verify the wallet has the stated capital.\nIf either check fails, stop and inform the user before wasting agent compute."
      },
      {
        "title": "Step 1: Scan Opportunities (opportunity-scanner)",
        "body": "Delegate to Task(subagent_type:opportunity-scanner) with:\n\nScan for LP opportunities with these parameters:\n- Available capital: {capital}\n- Chains: {chain or \"all supported chains\"}\n- Risk tolerance: {riskTolerance}\n- Type: \"lp\" (LP opportunities only)\n- Minimum TVL: $50,000\n- Top N: 5\n\nAdditional filters:\n- Pair preference: {pairPreference or \"none\"}\n- Exclude tokens: {excludeTokens or \"none\"}\n\nReturn the top 5 LP opportunities ranked by risk-adjusted yield.\nEach opportunity must include fee APY, estimated IL, risk-adjusted yield,\nTVL, volume, and risk rating.\n\nPresent to user with a choice:\n\nStep 1/6: Opportunity Scan Complete\n\n  Found 5 LP opportunities (filtered from 200+ pools):\n\n  #  Pool                Chain    Fee APY  Est. IL  Net APY  Risk    TVL\n  1  WETH/USDC 0.05%     ETH      21%      -6%      15%     MEDIUM  $332M\n  2  WETH/USDC 0.05%     Base     18%      -5%      13%     MEDIUM  $45M\n  3  ARB/WETH 0.30%      Arb      35%      -12%     23%     HIGH    $12M\n  4  USDC/USDT 0.01%     ETH      8%       -0.1%    7.9%    LOW     $200M\n  5  cbETH/WETH 0.05%    Base     12%      -3%      9%      LOW     $28M\n\n  Recommended: #1 (WETH/USDC 0.05% on Ethereum) — best balance of yield and risk\n\n  Which opportunity would you like to pursue? (1-5, or \"1\" to accept recommendation)\n\nWait for user selection before proceeding."
      },
      {
        "title": "Step 2: Design Strategy (lp-strategist)",
        "body": "Delegate to Task(subagent_type:lp-strategist) with the chosen opportunity:\n\nDesign an optimal LP strategy for this opportunity:\n\nOpportunity details (from opportunity-scanner):\n{Full opportunity data from Step 1 for chosen pool}\n\nLP parameters:\n- Capital: {capital}\n- Risk tolerance: {riskTolerance}\n- Chain: {chain of chosen opportunity}\n\nProvide:\n1. Recommended version and fee tier (with rationale)\n2. Optimal tick range (lower/upper prices, width %)\n3. Conservative/moderate/optimistic APY and IL estimates\n4. Rebalance strategy (trigger, frequency, estimated cost)\n5. Comparison to the next-best alternative\n\nPresent to user:\n\nStep 2/6: Strategy Designed\n\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Range:    $1,700 - $2,300 (±15%, medium width)\n  Expected: 15% net APY (moderate estimate)\n\n  Strategy Details:\n    Fee APY (moderate): 21%\n    Estimated IL: -6%\n    Net APY: 15%\n    Rebalance: every 2-3 weeks (trigger: price within 10% of boundary)\n    Rebalance cost: ~$15/rebalance on Ethereum\n\n  Proceeding to risk assessment..."
      },
      {
        "title": "Step 3: Risk Assessment (risk-assessor)",
        "body": "Delegate to Task(subagent_type:risk-assessor) with compound context:\n\nEvaluate risk for this LP strategy:\n\nOperation: add liquidity\nToken pair: {token0}/{token1}\nPool: {pool address}\nChain: {chain}\nCapital: {capital}\nRisk tolerance: {riskTolerance}\n\nStrategy context (from lp-strategist):\n{Full strategy recommendation from Step 2}\n\nOpportunity context (from opportunity-scanner):\n{Key metrics from Step 1: TVL, volume trend, risk rating}\n\nEvaluate: impermanent loss risk, slippage risk (entry/exit), liquidity risk,\nsmart contract risk. Provide APPROVE/CONDITIONAL_APPROVE/VETO/HARD_VETO.\n\nConditional gate (same logic as research-and-trade):\n\nDecisionActionAPPROVEPresent risk summary, proceed to Step 4CONDITIONAL_APPROVEShow conditions, ask user if they acceptVETOSTOP. Show opportunity + strategy + veto reason. Suggest fallbacks.HARD_VETOSTOP. Show reason. Non-negotiable.\n\nPresent to user (APPROVE case):\n\nStep 3/6: Risk Assessment Passed\n\n  Decision: APPROVE\n  Composite Risk: MEDIUM\n  IL Risk: MEDIUM (8.2% annual estimate for volatile pair)\n  Slippage: LOW (deep pool, entry < 0.1% impact)\n  Liquidity: LOW (TVL 6,640x your position)\n  Smart Contract: LOW (V3, established pool)\n\n  Proceeding to prepare tokens..."
      },
      {
        "title": "Step 4: Swap If Needed (trade-executor) -- Conditional",
        "body": "Check wallet balances against required token amounts for the LP position:\n\nThe strategy specifies how much of each token is needed (e.g., 50/50 split for a centered range).\nCheck current wallet holdings via mcp__uniswap__get_agent_balance.\nCalculate what swaps are needed (if any).\n\nIf no swaps needed:\n\nStep 4/6: Token Preparation — Skipped\n\n  You already hold sufficient WETH and USDC for this position.\n  No swaps required.\n\nIf swaps needed, present and ask USER CONFIRMATION #1:\n\nStep 4/6: Token Preparation Required\n\n  Your position needs:\n    0.5 WETH  (~$980)\n    980 USDC  (~$980)\n\n  You currently hold:\n    2.0 WETH  ($3,920)\n    0 USDC    ($0)\n\n  Proposed swap:\n    Sell 0.5 WETH → Buy ~980 USDC\n    Estimated slippage: 0.05%\n    Gas: ~$8\n\n  Approve this swap to prepare tokens for LP? (yes/no)\n\nOnly execute the swap if the user explicitly confirms. If the user declines, stop the pipeline and present what was accomplished (scan + strategy + risk assessment)."
      },
      {
        "title": "Step 5: Enter Position (liquidity-manager)",
        "body": "Present the full LP entry details and ask USER CONFIRMATION #2:\n\nStep 5/6: Ready to Add Liquidity\n\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Deposit:\n    0.5 WETH  (~$980)\n    980 USDC  (~$980)\n    Total:    ~$1,960\n\n  Range:\n    Lower: $1,700 (tick -204714)\n    Upper: $2,300 (tick -199514)\n    Current: $1,963 — IN RANGE\n    Width: ±15% (medium)\n\n  Expected Fee APY: ~15-21% (based on 7d pool data)\n\n  Add liquidity with these parameters? (yes/no)\n\nOnly proceed if the user confirms. Then delegate to Task(subagent_type:liquidity-manager):\n\nAdd liquidity to this pool:\n\nPool: {pool address}\nChain: {chain}\nVersion: {version}\nToken0: {token0 address} — Amount: {amount0}\nToken1: {token1 address} — Amount: {amount1}\nTick lower: {tick_lower}\nTick upper: {tick_upper}\n\nStrategy context:\n- Range strategy: {medium/narrow/wide}\n- From lp-strategist recommendation\n\nExecute: handle approvals, simulate, route through safety-guardian, add liquidity,\nwait for confirmation. Return position ID and actual amounts deposited."
      },
      {
        "title": "Step 6: Confirm & Report (portfolio-analyst)",
        "body": "Delegate to Task(subagent_type:portfolio-analyst) with the new position:\n\nReport on the portfolio impact of this new LP position:\n\nNew position:\n- Position ID: {position_id from Step 5}\n- Pool: {pool_address}\n- Chain: {chain}\n- Tokens deposited: {amounts}\n- Tick range: {lower} to {upper}\n- Transaction: {tx_hash}\n\nWallet address: {wallet_address}\n\nProvide:\n1. New position details and current status (in-range confirmation)\n2. Portfolio impact (if other positions exist, show before/after composition)\n3. Total portfolio value across all chains\n4. Monitoring recommendations\n\nPresent final result:\n\nStep 6/6: Position Confirmed & Portfolio Updated\n\n  New Position: #456789\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Status:   IN RANGE\n  Value:    $1,960\n\n  Deposited:\n    0.5 WETH  ($980)\n    980 USDC  ($980)\n\n  Range:\n    $1,700 — $2,300 (current: $1,963)\n\n  Expected Returns:\n    Fee APY: 15-21% (moderate-optimistic)\n    Est. IL: -5 to -8% annualized\n    Net: 9-15% annualized\n\n  Portfolio Impact:\n    Total LP Value:  $1,960 (new) + $45,000 (existing) = $46,960\n    LP Allocation:   42% WETH, 35% USDC, 23% other\n    Chain Split:     85% Ethereum, 15% Base\n\n  ──────────────────────────────────────\n  Pipeline Summary\n  ──────────────────────────────────────\n  Scan:      5 opportunities found, #1 selected\n  Strategy:  V3 0.05%, ±15% range, bi-weekly rebalance\n  Risk:      APPROVED (MEDIUM composite)\n  Swap:      0.5 WETH → 980 USDC (preparation)\n  Position:  #456789 — IN RANGE\n  Cost:      $15.20 total gas (swap + LP entry)\n\n  Next Steps:\n  - Monitor: \"How are my positions doing?\"\n  - Rebalance when needed: \"Rebalance position #456789\"\n  - Collect fees: \"Collect fees from position #456789\""
      },
      {
        "title": "Critical Decision Points",
        "body": "These are the moments where the skill must stop and ask rather than assume:\n\nSituationActionCapital amount not specifiedAsk: \"How much capital would you like to deploy?\"Multiple good opportunitiesPresent top 3-5, let user chooseRisk-assessor VETOStop. Show research + strategy + veto reason.Swap needed for token preparationUSER CONFIRMATION #1: show swap details, ask to proceedReady to add liquidityUSER CONFIRMATION #2: show position details, ask to proceedCapital exceeds safety spending limitStop. Show limit. Suggest reducing amount or adjusting limits.Wallet doesn't have stated capitalStop. Show actual balance. Ask to adjust amount.Best opportunity is on a different chain than wallet fundsExplain cross-chain situation, suggest bridge or chain choice"
      },
      {
        "title": "Partial Completion Recovery",
        "body": "If the pipeline fails mid-way, report what was accomplished and what remains:\n\nLP Workflow — Partial Completion\n\n  Completed:\n    [done] Step 1: Scan — 5 opportunities found, #1 selected\n    [done] Step 2: Strategy — V3 0.05%, ±15% range designed\n    [done] Step 3: Risk — APPROVED (MEDIUM)\n    [FAIL] Step 4: Swap — Transaction reverted (insufficient gas)\n\n  Remaining:\n    [ ] Step 5: Add liquidity\n    [ ] Step 6: Portfolio report\n\n  Recovery Options:\n    - Ensure sufficient ETH for gas and retry: \"Continue LP workflow\"\n    - Add liquidity manually with the strategy above: \"Add liquidity to WETH/USDC 0.05%\"\n    - Start over: \"Full LP workflow with $X\""
      },
      {
        "title": "Successful Pipeline (all 6 steps)",
        "body": "Full LP Workflow Complete\n\n  Opportunity: {pool_pair} {fee}% on {chain}\n  Strategy:    {version}, {range_width} range, {rebalance_frequency} rebalance\n  Risk:        {decision} ({composite_risk})\n  Position:    #{position_id} — {status}\n  Value:       ${total_value}\n\n  Returns (moderate estimate):\n    Fee APY: {fee_apy}%\n    Est. IL: {il}%\n    Net APY: {net_apy}%\n\n  Cost: ${total_gas} gas across {n} transactions\n\n  Pipeline: Scan -> Strategy -> Risk -> Swap -> Enter -> Confirm (all passed)"
      },
      {
        "title": "Important Notes",
        "body": "This is the most complex skill. It orchestrates 6 agents with 2 user confirmation points and a conditional swap step. Each agent receives compound context from all predecessors.\nTwo explicit confirmations: Before any swap and before adding liquidity. The user must say \"yes\" at both gates.\nConditional swap: Step 4 only executes if the user doesn't already hold the right tokens. If they do, it's skipped entirely.\nChain considerations: If scanning \"all\" chains, the best opportunity might be on a chain where the user's funds aren't located. The skill should flag this and suggest bridging or narrowing the chain filter.\nGas budget: On Ethereum, the full pipeline (swap + LP) costs $15-50 in gas. For small positions (< $1K), warn that gas costs significantly eat into returns.\nNever auto-execute: Despite being an \"autonomous\" workflow, every spend of user capital requires explicit confirmation."
      },
      {
        "title": "Error Handling",
        "body": "ErrorUser-Facing MessageSuggested ActionNo opportunities found\"No LP opportunities match your criteria on {chain}.\"Broaden chain filter or lower minTVLOpportunity-scanner fails\"Opportunity scan failed. Cannot identify LP targets.\"Try scan-opportunities directlyLP-strategist fails\"Strategy design failed for {pool}. Scan results preserved.\"Try lp-strategy or optimize-lp directlyRisk-assessor VETO\"Risk assessment vetoed: {reason}. Strategy: {summary}.\"Pick a different opportunity or reduce sizeRisk-assessor HARD_VETO\"Strategy blocked: {reason}. This cannot be overridden.\"Choose a lower-risk opportunityInsufficient balance for swap\"Not enough {token} to prepare for LP. Have {X}, need {Y}.\"Reduce capital or acquire tokensSwap execution fails\"Token swap failed: {reason}. Strategy and risk data preserved.\"Retry or swap manuallyLiquidity add fails\"Failed to add liquidity: {reason}. Tokens are still in your wallet.\"Retry or use manage-liquidity directlyPosition not confirmed\"Position created but not yet confirmed on-chain. Check back in a moment.\"Wait and check with track-performanceSafety spending limit exceeded\"Capital of ${X} exceeds spending limit of ${Y}.\"Reduce amount or adjust safety configWallet not configured\"No wallet configured. Cannot execute transactions.\"Set up wallet with setup-agent-walletUser declines swap confirmation\"Token swap cancelled. Strategy preserved — you can proceed manually.\"Use manage-liquidity with manual prepUser declines LP confirmation\"LP entry cancelled. All prior research is shown above.\"Adjust parameters and retry"
      }
    ],
    "body": "Full LP Workflow\nOverview\n\nThis is the most complex multi-agent orchestration in the system. It turns a single intent -- \"I have $20K, find me the best yield\" -- into a fully researched, risk-assessed, optimally-structured LP position through a 6-agent pipeline.\n\nWhy this is 10x better than calling agents individually:\n\nEnd-to-end automation: Manually, you'd need to scan opportunities, research pools, design a strategy, assess risk, potentially swap tokens, add liquidity, and verify -- each requiring different tools and expertise. This does it all in one command.\nIntelligent pipeline with compound context: Each agent builds on all prior agents' findings. The lp-strategist doesn't just get a token pair -- it gets the opportunity-scanner's full analysis of why this pool is optimal. The risk-assessor evaluates the actual strategy designed by the lp-strategist, not a generic assessment.\nTwo user confirmation points: Before spending any money (swap) and before committing capital (LP entry), the skill pauses for explicit user approval. You stay in control.\nConditional swap step: If you don't hold the right tokens for the LP position, the skill automatically handles the token swap -- but only after showing you exactly what it plans to do.\nPortfolio impact reporting: After entering the position, the portfolio-analyst shows you exactly how your portfolio changed, with ongoing monitoring instructions.\nFailure recovery at every stage: If any agent fails mid-pipeline, you see what was accomplished and get recovery suggestions.\nWhen to Use\n\nActivate when the user says anything like:\n\n\"I have $20K, find the best LP opportunity and enter\"\n\"Autonomous LP: find yield and enter position\"\n\"Full LP workflow with $10,000\"\n\"Find me the best yield and set up a position\"\n\"I want to LP but don't know where -- find the best option\"\n\"Put $5K to work in Uniswap -- find the best opportunity\"\n\"End-to-end LP: scan, strategize, and enter\"\n\"What's the best LP opportunity right now? Set it up for me\"\n\nDo NOT use when the user already knows which pool they want (use manage-liquidity instead), just wants strategy comparison without execution (use lp-strategy), or just wants to scan without entering (use scan-opportunities).\n\nParameters\nParameter\tRequired\tDefault\tHow to Extract\ncapital\tYes\t--\tTotal capital to deploy: \"$20,000\", \"10 ETH\", \"$5K\"\nchain\tNo\tall\tTarget chain or \"all\" for cross-chain scan\nriskTolerance\tNo\tmoderate\t\"conservative\", \"moderate\", \"aggressive\"\npairPreference\tNo\t--\tOptional token pair preference: \"ETH/USDC\", \"stablecoin pairs\"\nexcludeTokens\tNo\t--\tTokens to exclude: \"PEPE, SHIB\" (avoid memecoins, etc.)\ncapitalToken\tNo\tauto-detect\tWhat token the capital is in: \"USDC\", \"ETH\", auto-detect from wallet\n\nIf the user doesn't provide capital amount, ask for it -- never guess how much to deploy.\n\nWorkflow\n                          FULL LP WORKFLOW PIPELINE\n  ┌─────────────────────────────────────────────────────────────────────┐\n  │                                                                     │\n  │  Step 1: SCAN (opportunity-scanner)                                 │\n  │  ├── Scan LP opportunities across chains                            │\n  │  ├── Filter by risk tolerance and capital size                      │\n  │  ├── Rank top 3-5 by risk-adjusted yield                           │\n  │  └── Output: Ranked Opportunity List                                │\n  │          │                                                          │\n  │          ▼ USER CHOICE POINT                                        │\n  │  ┌───────────────────────────────────────────────────┐              │\n  │  │  Present top opportunities to user.               │              │\n  │  │  User picks one OR accepts recommendation (#1).   │              │\n  │  └───────────────────────────────────────────────────┘              │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 2: STRATEGIZE (lp-strategist)                                 │\n  │  ├── Design optimal strategy for chosen opportunity                 │\n  │  ├── Version, fee tier, range width, rebalance plan                 │\n  │  ├── Conservative/moderate/optimistic APY estimates                 │\n  │  └── Output: LP Strategy Recommendation                             │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 3: RISK CHECK (risk-assessor)                                 │\n  │  ├── Receives: opportunity data + strategy details                  │\n  │  ├── Evaluates: IL, slippage, liquidity, smart contract             │\n  │  ├── Decision: APPROVE / CONDITIONAL / VETO / HARD_VETO            │\n  │  └── Output: Risk Assessment Report                                 │\n  │          │                                                          │\n  │          ▼ CONDITIONAL GATE                                         │\n  │  ┌───────────────────────────────────────────────────┐              │\n  │  │  APPROVE / COND. APPROVE → Continue               │              │\n  │  │  VETO / HARD_VETO → STOP with full report         │              │\n  │  └───────────────────────────────────────────────────┘              │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 4: SWAP IF NEEDED (trade-executor) -- CONDITIONAL             │\n  │  ├── Check wallet balances vs required tokens                       │\n  │  ├── If tokens needed: calculate swap amounts                       │\n  │  ├── USER CONFIRMATION #1: \"Swap X for Y to prepare for LP?\"       │\n  │  ├── Execute swap(s) if confirmed                                   │\n  │  └── Output: Swap result OR \"tokens already held\"                   │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 5: ENTER POSITION (liquidity-manager)                         │\n  │  ├── USER CONFIRMATION #2: \"Add liquidity with these params?\"      │\n  │  ├── Handle approvals (Permit2)                                     │\n  │  ├── Add liquidity at recommended range                             │\n  │  ├── Wait for transaction confirmation                              │\n  │  └── Output: Position ID, amounts deposited, tick range             │\n  │          │                                                          │\n  │          ▼                                                          │\n  │                                                                     │\n  │  Step 6: CONFIRM & REPORT (portfolio-analyst)                       │\n  │  ├── Verify position was created successfully                       │\n  │  ├── Show portfolio impact (before vs after)                        │\n  │  ├── Monitoring instructions                                        │\n  │  └── Output: Portfolio Report + Next Steps                          │\n  │                                                                     │\n  └─────────────────────────────────────────────────────────────────────┘\n\nStep 0: Pre-Flight\n\nBefore starting the pipeline:\n\nCheck safety status via mcp__uniswap__check_safety_status -- verify spending limits can accommodate the capital amount.\nCheck wallet balance via mcp__uniswap__get_agent_balance on the target chain(s) -- verify the wallet has the stated capital.\nIf either check fails, stop and inform the user before wasting agent compute.\nStep 1: Scan Opportunities (opportunity-scanner)\n\nDelegate to Task(subagent_type:opportunity-scanner) with:\n\nScan for LP opportunities with these parameters:\n- Available capital: {capital}\n- Chains: {chain or \"all supported chains\"}\n- Risk tolerance: {riskTolerance}\n- Type: \"lp\" (LP opportunities only)\n- Minimum TVL: $50,000\n- Top N: 5\n\nAdditional filters:\n- Pair preference: {pairPreference or \"none\"}\n- Exclude tokens: {excludeTokens or \"none\"}\n\nReturn the top 5 LP opportunities ranked by risk-adjusted yield.\nEach opportunity must include fee APY, estimated IL, risk-adjusted yield,\nTVL, volume, and risk rating.\n\n\nPresent to user with a choice:\n\nStep 1/6: Opportunity Scan Complete\n\n  Found 5 LP opportunities (filtered from 200+ pools):\n\n  #  Pool                Chain    Fee APY  Est. IL  Net APY  Risk    TVL\n  1  WETH/USDC 0.05%     ETH      21%      -6%      15%     MEDIUM  $332M\n  2  WETH/USDC 0.05%     Base     18%      -5%      13%     MEDIUM  $45M\n  3  ARB/WETH 0.30%      Arb      35%      -12%     23%     HIGH    $12M\n  4  USDC/USDT 0.01%     ETH      8%       -0.1%    7.9%    LOW     $200M\n  5  cbETH/WETH 0.05%    Base     12%      -3%      9%      LOW     $28M\n\n  Recommended: #1 (WETH/USDC 0.05% on Ethereum) — best balance of yield and risk\n\n  Which opportunity would you like to pursue? (1-5, or \"1\" to accept recommendation)\n\n\nWait for user selection before proceeding.\n\nStep 2: Design Strategy (lp-strategist)\n\nDelegate to Task(subagent_type:lp-strategist) with the chosen opportunity:\n\nDesign an optimal LP strategy for this opportunity:\n\nOpportunity details (from opportunity-scanner):\n{Full opportunity data from Step 1 for chosen pool}\n\nLP parameters:\n- Capital: {capital}\n- Risk tolerance: {riskTolerance}\n- Chain: {chain of chosen opportunity}\n\nProvide:\n1. Recommended version and fee tier (with rationale)\n2. Optimal tick range (lower/upper prices, width %)\n3. Conservative/moderate/optimistic APY and IL estimates\n4. Rebalance strategy (trigger, frequency, estimated cost)\n5. Comparison to the next-best alternative\n\n\nPresent to user:\n\nStep 2/6: Strategy Designed\n\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Range:    $1,700 - $2,300 (±15%, medium width)\n  Expected: 15% net APY (moderate estimate)\n\n  Strategy Details:\n    Fee APY (moderate): 21%\n    Estimated IL: -6%\n    Net APY: 15%\n    Rebalance: every 2-3 weeks (trigger: price within 10% of boundary)\n    Rebalance cost: ~$15/rebalance on Ethereum\n\n  Proceeding to risk assessment...\n\nStep 3: Risk Assessment (risk-assessor)\n\nDelegate to Task(subagent_type:risk-assessor) with compound context:\n\nEvaluate risk for this LP strategy:\n\nOperation: add liquidity\nToken pair: {token0}/{token1}\nPool: {pool address}\nChain: {chain}\nCapital: {capital}\nRisk tolerance: {riskTolerance}\n\nStrategy context (from lp-strategist):\n{Full strategy recommendation from Step 2}\n\nOpportunity context (from opportunity-scanner):\n{Key metrics from Step 1: TVL, volume trend, risk rating}\n\nEvaluate: impermanent loss risk, slippage risk (entry/exit), liquidity risk,\nsmart contract risk. Provide APPROVE/CONDITIONAL_APPROVE/VETO/HARD_VETO.\n\n\nConditional gate (same logic as research-and-trade):\n\nDecision\tAction\nAPPROVE\tPresent risk summary, proceed to Step 4\nCONDITIONAL_APPROVE\tShow conditions, ask user if they accept\nVETO\tSTOP. Show opportunity + strategy + veto reason. Suggest fallbacks.\nHARD_VETO\tSTOP. Show reason. Non-negotiable.\n\nPresent to user (APPROVE case):\n\nStep 3/6: Risk Assessment Passed\n\n  Decision: APPROVE\n  Composite Risk: MEDIUM\n  IL Risk: MEDIUM (8.2% annual estimate for volatile pair)\n  Slippage: LOW (deep pool, entry < 0.1% impact)\n  Liquidity: LOW (TVL 6,640x your position)\n  Smart Contract: LOW (V3, established pool)\n\n  Proceeding to prepare tokens...\n\nStep 4: Swap If Needed (trade-executor) -- Conditional\n\nCheck wallet balances against required token amounts for the LP position:\n\nThe strategy specifies how much of each token is needed (e.g., 50/50 split for a centered range).\nCheck current wallet holdings via mcp__uniswap__get_agent_balance.\nCalculate what swaps are needed (if any).\n\nIf no swaps needed:\n\nStep 4/6: Token Preparation — Skipped\n\n  You already hold sufficient WETH and USDC for this position.\n  No swaps required.\n\n\nIf swaps needed, present and ask USER CONFIRMATION #1:\n\nStep 4/6: Token Preparation Required\n\n  Your position needs:\n    0.5 WETH  (~$980)\n    980 USDC  (~$980)\n\n  You currently hold:\n    2.0 WETH  ($3,920)\n    0 USDC    ($0)\n\n  Proposed swap:\n    Sell 0.5 WETH → Buy ~980 USDC\n    Estimated slippage: 0.05%\n    Gas: ~$8\n\n  Approve this swap to prepare tokens for LP? (yes/no)\n\n\nOnly execute the swap if the user explicitly confirms. If the user declines, stop the pipeline and present what was accomplished (scan + strategy + risk assessment).\n\nStep 5: Enter Position (liquidity-manager)\n\nPresent the full LP entry details and ask USER CONFIRMATION #2:\n\nStep 5/6: Ready to Add Liquidity\n\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Deposit:\n    0.5 WETH  (~$980)\n    980 USDC  (~$980)\n    Total:    ~$1,960\n\n  Range:\n    Lower: $1,700 (tick -204714)\n    Upper: $2,300 (tick -199514)\n    Current: $1,963 — IN RANGE\n    Width: ±15% (medium)\n\n  Expected Fee APY: ~15-21% (based on 7d pool data)\n\n  Add liquidity with these parameters? (yes/no)\n\n\nOnly proceed if the user confirms. Then delegate to Task(subagent_type:liquidity-manager):\n\nAdd liquidity to this pool:\n\nPool: {pool address}\nChain: {chain}\nVersion: {version}\nToken0: {token0 address} — Amount: {amount0}\nToken1: {token1 address} — Amount: {amount1}\nTick lower: {tick_lower}\nTick upper: {tick_upper}\n\nStrategy context:\n- Range strategy: {medium/narrow/wide}\n- From lp-strategist recommendation\n\nExecute: handle approvals, simulate, route through safety-guardian, add liquidity,\nwait for confirmation. Return position ID and actual amounts deposited.\n\nStep 6: Confirm & Report (portfolio-analyst)\n\nDelegate to Task(subagent_type:portfolio-analyst) with the new position:\n\nReport on the portfolio impact of this new LP position:\n\nNew position:\n- Position ID: {position_id from Step 5}\n- Pool: {pool_address}\n- Chain: {chain}\n- Tokens deposited: {amounts}\n- Tick range: {lower} to {upper}\n- Transaction: {tx_hash}\n\nWallet address: {wallet_address}\n\nProvide:\n1. New position details and current status (in-range confirmation)\n2. Portfolio impact (if other positions exist, show before/after composition)\n3. Total portfolio value across all chains\n4. Monitoring recommendations\n\n\nPresent final result:\n\nStep 6/6: Position Confirmed & Portfolio Updated\n\n  New Position: #456789\n  Pool:     WETH/USDC 0.05% (V3, Ethereum)\n  Status:   IN RANGE\n  Value:    $1,960\n\n  Deposited:\n    0.5 WETH  ($980)\n    980 USDC  ($980)\n\n  Range:\n    $1,700 — $2,300 (current: $1,963)\n\n  Expected Returns:\n    Fee APY: 15-21% (moderate-optimistic)\n    Est. IL: -5 to -8% annualized\n    Net: 9-15% annualized\n\n  Portfolio Impact:\n    Total LP Value:  $1,960 (new) + $45,000 (existing) = $46,960\n    LP Allocation:   42% WETH, 35% USDC, 23% other\n    Chain Split:     85% Ethereum, 15% Base\n\n  ──────────────────────────────────────\n  Pipeline Summary\n  ──────────────────────────────────────\n  Scan:      5 opportunities found, #1 selected\n  Strategy:  V3 0.05%, ±15% range, bi-weekly rebalance\n  Risk:      APPROVED (MEDIUM composite)\n  Swap:      0.5 WETH → 980 USDC (preparation)\n  Position:  #456789 — IN RANGE\n  Cost:      $15.20 total gas (swap + LP entry)\n\n  Next Steps:\n  - Monitor: \"How are my positions doing?\"\n  - Rebalance when needed: \"Rebalance position #456789\"\n  - Collect fees: \"Collect fees from position #456789\"\n\nCritical Decision Points\n\nThese are the moments where the skill must stop and ask rather than assume:\n\nSituation\tAction\nCapital amount not specified\tAsk: \"How much capital would you like to deploy?\"\nMultiple good opportunities\tPresent top 3-5, let user choose\nRisk-assessor VETO\tStop. Show research + strategy + veto reason.\nSwap needed for token preparation\tUSER CONFIRMATION #1: show swap details, ask to proceed\nReady to add liquidity\tUSER CONFIRMATION #2: show position details, ask to proceed\nCapital exceeds safety spending limit\tStop. Show limit. Suggest reducing amount or adjusting limits.\nWallet doesn't have stated capital\tStop. Show actual balance. Ask to adjust amount.\nBest opportunity is on a different chain than wallet funds\tExplain cross-chain situation, suggest bridge or chain choice\nPartial Completion Recovery\n\nIf the pipeline fails mid-way, report what was accomplished and what remains:\n\nLP Workflow — Partial Completion\n\n  Completed:\n    [done] Step 1: Scan — 5 opportunities found, #1 selected\n    [done] Step 2: Strategy — V3 0.05%, ±15% range designed\n    [done] Step 3: Risk — APPROVED (MEDIUM)\n    [FAIL] Step 4: Swap — Transaction reverted (insufficient gas)\n\n  Remaining:\n    [ ] Step 5: Add liquidity\n    [ ] Step 6: Portfolio report\n\n  Recovery Options:\n    - Ensure sufficient ETH for gas and retry: \"Continue LP workflow\"\n    - Add liquidity manually with the strategy above: \"Add liquidity to WETH/USDC 0.05%\"\n    - Start over: \"Full LP workflow with $X\"\n\nOutput Format\nSuccessful Pipeline (all 6 steps)\nFull LP Workflow Complete\n\n  Opportunity: {pool_pair} {fee}% on {chain}\n  Strategy:    {version}, {range_width} range, {rebalance_frequency} rebalance\n  Risk:        {decision} ({composite_risk})\n  Position:    #{position_id} — {status}\n  Value:       ${total_value}\n\n  Returns (moderate estimate):\n    Fee APY: {fee_apy}%\n    Est. IL: {il}%\n    Net APY: {net_apy}%\n\n  Cost: ${total_gas} gas across {n} transactions\n\n  Pipeline: Scan -> Strategy -> Risk -> Swap -> Enter -> Confirm (all passed)\n\nImportant Notes\nThis is the most complex skill. It orchestrates 6 agents with 2 user confirmation points and a conditional swap step. Each agent receives compound context from all predecessors.\nTwo explicit confirmations: Before any swap and before adding liquidity. The user must say \"yes\" at both gates.\nConditional swap: Step 4 only executes if the user doesn't already hold the right tokens. If they do, it's skipped entirely.\nChain considerations: If scanning \"all\" chains, the best opportunity might be on a chain where the user's funds aren't located. The skill should flag this and suggest bridging or narrowing the chain filter.\nGas budget: On Ethereum, the full pipeline (swap + LP) costs $15-50 in gas. For small positions (< $1K), warn that gas costs significantly eat into returns.\nNever auto-execute: Despite being an \"autonomous\" workflow, every spend of user capital requires explicit confirmation.\nError Handling\nError\tUser-Facing Message\tSuggested Action\nNo opportunities found\t\"No LP opportunities match your criteria on {chain}.\"\tBroaden chain filter or lower minTVL\nOpportunity-scanner fails\t\"Opportunity scan failed. Cannot identify LP targets.\"\tTry scan-opportunities directly\nLP-strategist fails\t\"Strategy design failed for {pool}. Scan results preserved.\"\tTry lp-strategy or optimize-lp directly\nRisk-assessor VETO\t\"Risk assessment vetoed: {reason}. Strategy: {summary}.\"\tPick a different opportunity or reduce size\nRisk-assessor HARD_VETO\t\"Strategy blocked: {reason}. This cannot be overridden.\"\tChoose a lower-risk opportunity\nInsufficient balance for swap\t\"Not enough {token} to prepare for LP. Have {X}, need {Y}.\"\tReduce capital or acquire tokens\nSwap execution fails\t\"Token swap failed: {reason}. Strategy and risk data preserved.\"\tRetry or swap manually\nLiquidity add fails\t\"Failed to add liquidity: {reason}. Tokens are still in your wallet.\"\tRetry or use manage-liquidity directly\nPosition not confirmed\t\"Position created but not yet confirmed on-chain. Check back in a moment.\"\tWait and check with track-performance\nSafety spending limit exceeded\t\"Capital of ${X} exceeds spending limit of ${Y}.\"\tReduce amount or adjust safety config\nWallet not configured\t\"No wallet configured. Cannot execute transactions.\"\tSet up wallet with setup-agent-wallet\nUser declines swap confirmation\t\"Token swap cancelled. Strategy preserved — you can proceed manually.\"\tUse manage-liquidity with manual prep\nUser declines LP confirmation\t\"LP entry cancelled. All prior research is shown above.\"\tAdjust parameters and retry"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wpank/full-lp-workflow",
    "publisherUrl": "https://clawhub.ai/wpank/full-lp-workflow",
    "owner": "wpank",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/full-lp-workflow",
    "downloadUrl": "https://openagent3.xyz/downloads/full-lp-workflow",
    "agentUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent",
    "manifestUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/full-lp-workflow/agent.md"
  }
}