[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CT3JAY6NQ7VBKQ3SRPBD8Y":3,"skill-same:01M6CT3JAY6NQ7VBKQ3SRPBD8Y":95},{"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":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":14,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M6CT3JAY6NQ7VBKQ3SRPBD8Y","portfolio",null,"Portfolio tracking, PnL calculation, trade history, and price alerts for crypto positions","lucid-fdn\u002Flucid-plugins","lucid-fdn","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F93290671?v=4","01M6CT12EHKN5DWVD9NAK6WSXT","Lucid","01M6CT12K0ARYZ8D28MK4G89F8",0,"MIT","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-trade\u002Fskill\u002Freferences\u002Fportfolio\u002FSKILL.md",[],[5,19,20,21],"history","tracking","crypto","2026-11-10 10:12:30",false,"---\nname: portfolio\ndescription: \"Portfolio tracking, PnL calculation, trade history, and price alerts for crypto positions\"\n---\n\n# Portfolio\n\nTrack crypto positions, calculate profit and loss, manage price alerts, and monitor portfolio-level risk metrics.\n\n## PnL Calculation\n\n### Per-Position PnL\n\n**LONG position** (bought, expecting price to rise):\n```\nGross PnL = (Current Price - Entry Price) * Amount\n```\n\n**SHORT position** (sold, expecting price to fall):\n```\nGross PnL = (Entry Price - Current Price) * Amount\n```\n\n**Common calculations:**\n```\nValue at Entry = Entry Price * Amount\nCurrent Value = Current Price * Amount\nPnL % = (Gross PnL \u002F Value at Entry) * 100\nNet PnL = Gross PnL - Fees\n```\n\n### Example\n\nLong 2.5 ETH at $2,000 entry, current price $2,400, fees $12:\n\n```\nGross PnL = ($2,400 - $2,000) * 2.5 = $1,000\nValue at Entry = $2,000 * 2.5 = $5,000\nPnL % = ($1,000 \u002F $5,000) * 100 = 20%\nNet PnL = $1,000 - $12 = $988\n```\n\n## Portfolio Summary\n\nWhen presenting a portfolio overview, include:\n\n| Metric | Calculation |\n|--------|------------|\n| Total Value | Sum of all position current values |\n| Total PnL | Sum of all position gross PnL values |\n| Total PnL % | (Total PnL \u002F Total Value at Entry) * 100 |\n| Position Count | Number of open positions |\n| Allocation % | (Position Value \u002F Total Portfolio Value) * 100 per position |\n\n## Price Alerts\n\nThree alert types:\n\n| Alert Type | Trigger Condition | Example |\n|-----------|-------------------|---------|\n| `above` | Current Price >= Target Price | Alert when ETH >= $3,000 |\n| `below` | Current Price \u003C= Target Price | Alert when BTC \u003C= $50,000 |\n| `pct_change` | \\|Price Change %\\| >= Threshold | Alert when SOL moves +\u002F-5% |\n\nWhen an alert triggers, report: token, chain, alert type, target value, current price, and timestamp.\n\n## Trade History\n\nEach completed trade should record:\n\n| Field | Description |\n|-------|-------------|\n| Pair | Token pair (e.g., ETH\u002FUSDC) |\n| Direction | long or short |\n| Exchange | Where the trade executed (jupiter, 1inch, etc.) |\n| Chain | Blockchain (ethereum, solana, bsc, arbitrum, base, polygon) |\n| Order Type | market, limit, stop_loss, take_profit, trailing_stop |\n| Amount | Quantity of tokens traded |\n| Entry Price | Price at entry |\n| Exit Price | Price at exit (if closed) |\n| Fees | Total fees paid |\n| Slippage | Actual slippage experienced |\n| Tx Hash | On-chain transaction hash |\n| Timestamp | When the trade was executed |\n| PnL | Profit or loss in USD |\n| PnL % | Profit or loss as percentage |\n\n## Performance Metrics\n\nSee `references\u002Fperformance-metrics.md` for all formulas.\n\n| Metric | What It Measures | Good Value |\n|--------|-----------------|------------|\n| Max Drawdown | Worst peak-to-trough decline | \u003C 20% |\n| Sharpe Ratio | Risk-adjusted return | > 1.0 |\n| Profit Factor | Gross profit \u002F gross loss | > 1.5 |\n| Win Rate | Percentage of profitable trades | > 50% |\n\n## Risk Levels\n\nBased on portfolio metrics, classify overall risk:\n\n| Risk Level | Conditions |\n|-----------|------------|\n| Low | Drawdown \u003C 10%, diversified across 5+ positions, no single position > 20% |\n| Medium | Drawdown 10-20%, 3-5 positions, largest position 20-35% |\n| High | Drawdown 20-35%, concentrated in 1-2 positions, largest > 35% |\n| Critical | Drawdown > 35%, single position dominance, correlation risk |\n","# Portfolio\n\nTrack crypto positions, calculate profit and loss, manage price alerts, and monitor portfolio-level risk metrics.\n\n## PnL Calculation\n\n### Per-Position PnL\n\n**LONG position** (bought, expecting price to rise):\n```\nGross PnL = (Current Price - Entry Price) * Amount\n```\n\n**SHORT position** (sold, expecting price to fall):\n```\nGross PnL = (Entry Price - Current Price) * Amount\n```\n\n**Common calculations:**\n```\nValue at Entry = Entry Price * Amount\nCurrent Value = Current Price * Amount\nPnL % = (Gross PnL \u002F Value at Entry) * 100\nNet PnL = Gross PnL - Fees\n```\n\n### Example\n\nLong 2.5 ETH at $2,000 entry, current price $2,400, fees $12:\n\n```\nGross PnL = ($2,400 - $2,000) * 2.5 = $1,000\nValue at Entry = $2,000 * 2.5 = $5,000\nPnL % = ($1,000 \u002F $5,000) * 100 = 20%\nNet PnL = $1,000 - $12 = $988\n```\n\n## Portfolio Summary\n\nWhen presenting a portfolio overview, include:\n\n| Metric | Calculation |\n|--------|------------|\n| Total Value | Sum of all position current values |\n| Total PnL | Sum of all position gross PnL values |\n| Total PnL % | (Total PnL \u002F Total Value at Entry) * 100 |\n| Position Count | Number of open positions |\n| Allocation % | (Position Value \u002F Total Portfolio Value) * 100 per position |\n\n## Price Alerts\n\nThree alert types:\n\n| Alert Type | Trigger Condition | Example |\n|-----------|-------------------|---------|\n| `above` | Current Price >= Target Price | Alert when ETH >= $3,000 |\n| `below` | Current Price \u003C= Target Price | Alert when BTC \u003C= $50,000 |\n| `pct_change` | \\|Price Change %\\| >= Threshold | Alert when SOL moves +\u002F-5% |\n\nWhen an alert triggers, report: token, chain, alert type, target value, current price, and timestamp.\n\n## Trade History\n\nEach completed trade should record:\n\n| Field | Description |\n|-------|-------------|\n| Pair | Token pair (e.g., ETH\u002FUSDC) |\n| Direction | long or short |\n| Exchange | Where the trade executed (jupiter, 1inch, etc.) |\n| Chain | Blockchain (ethereum, solana, bsc, arbitrum, base, polygon) |\n| Order Type | market, limit, stop_loss, take_profit, trailing_stop |\n| Amount | Quantity of tokens traded |\n| Entry Price | Price at entry |\n| Exit Price | Price at exit (if closed) |\n| Fees | Total fees paid |\n| Slippage | Actual slippage experienced |\n| Tx Hash | On-chain transaction hash |\n| Timestamp | When the trade was executed |\n| PnL | Profit or loss in USD |\n| PnL % | Profit or loss as percentage |\n\n## Performance Metrics\n\nSee `references\u002Fperformance-metrics.md` for all formulas.\n\n| Metric | What It Measures | Good Value |\n|--------|-----------------|------------|\n| Max Drawdown | Worst peak-to-trough decline | \u003C 20% |\n| Sharpe Ratio | Risk-adjusted return | > 1.0 |\n| Profit Factor | Gross profit \u002F gross loss | > 1.5 |\n| Win Rate | Percentage of profitable trades | > 50% |\n\n## Risk Levels\n\nBased on portfolio metrics, classify overall risk:\n\n| Risk Level | Conditions |\n|-----------|------------|\n| Low | Drawdown \u003C 10%, diversified across 5+ positions, no single position > 20% |\n| Medium | Drawdown 10-20%, 3-5 positions, largest position 20-35% |\n| High | Drawdown 20-35%, concentrated in 1-2 positions, largest > 35% |\n| Critical | Drawdown > 35%, single position dominance, correlation risk |\n",{"name":5,"description":7},"main","60a187a694df4ce725464b7578e08ad46a73340f","lucid-trade\u002Fskill\u002Freferences\u002Fportfolio","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins","https:\u002F\u002Fgithub.com\u002Flucid-fdn","2026-03-26 06:06:06",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add lucid-fdn\u002Flucid-plugins --skill portfolio",{"tool":39,"command":40},"bunx","bunx skills add lucid-fdn\u002Flucid-plugins --skill portfolio",{"tool":42,"command":43},"pnpm","pnpm dlx skills add lucid-fdn\u002Flucid-plugins --skill portfolio","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-trade\u002Fskill\u002Freferences\u002Fportfolio\u002FSKILL.md",true,[47,53,59,63,67,71,75,79,83,87,91],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"agents\u002Fopenai.yaml","REFERENCE","参考文档",902,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Fagents\u002Fopenai.yaml",{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"assets\u002Ftemplate.md","ASSET","资产文件",773,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Fassets\u002Ftemplate.md",{"path":60,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":61,"sourceHtmlUrl":62},"README.md",992,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002FREADME.md",{"path":64,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fedge-cases.md",1138,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Freferences\u002Fedge-cases.md",{"path":68,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fexamples.md",578,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Freferences\u002Fexamples.md",{"path":72,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fperformance-metrics.md",2752,"https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-trade\u002Fskill\u002Freferences\u002Fportfolio\u002Freferences\u002Fperformance-metrics.md",{"path":76,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Frubric.md",570,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Freferences\u002Frubric.md",{"path":80,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":81,"sourceHtmlUrl":82},"skill.json",702,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Fskill.json",{"path":84,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":85,"sourceHtmlUrl":86},"tests\u002Fedge-path.md",411,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Ftests\u002Fedge-path.md",{"path":88,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":89,"sourceHtmlUrl":90},"tests\u002Ffailure-cases.md",368,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Ftests\u002Ffailure-cases.md",{"path":92,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":93,"sourceHtmlUrl":94},"tests\u002Fhappy-path.md",474,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FPolicy Clarifier\u002Ftests\u002Fhappy-path.md",[96,105,130,142,158,177],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":22},"01M6CT442ZA942TW2E4GM9B47B","lucid-PLUGIN_NAME","PLUGIN_DESCRIPTION","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Ftemplates\u002Fplugin-template\u002Fdocs\u002FSKILL.md",[],[103,104],"lucid PLUGIN NAME","plugin",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":121,"publishedAt":22},"01M6CT41PA1EKESRMFV5V775TW","social-content","Generate short-form video content optimized for social media platforms","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fsocial-content\u002FSKILL.md",[111,116],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[122,123,124,125,126,127,128,129],"social","social content","content","short","social media","Media","Video","generate",{"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":137,"publishedAt":22},"01M6CT3Z4SPEJQYJNZ60ZBDKMF","personalized-outreach","Generate 1:1 personalized video for sales prospecting and customer success","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fpersonalized-outreach\u002FSKILL.md",[136],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},[138,129,139,128,140,141],"personalized outreach","sales","prospecting","customer",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":151,"publishedAt":22},"01M6CT3WH4C1TMMSWY25XBEM19","data-reports","Generate animated data report videos from KPIs, charts, and analytics","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fdata-reports\u002FSKILL.md",[148],{"categoryNo":149,"categoryName":150,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000033","数据分析师",[152,153,154,155,156,129,157],"data","data reports","reports","Charts","report","analytics",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":168,"publishedAt":22},"01M6CT3TJTWDVGM0CY356RS99V","lucid-video","Agent-native video generation using Remotion — MCP server + OpenClaw plugin","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002FSKILL.md",[164,165],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":166,"categoryName":167,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发",[169,128,170,171,172,173,174,175,176,104],"lucid video","server","MCP","openclaw","mcp server","openclaw plugin","video generation","Remotion",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":22},"01M6CT3RP3ZWEJBA5Q3X8J4XV4","lucid-veille","Content monitoring, AI digest generation, and multi-platform auto-publishing","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-veille\u002Fskill\u002Freferences\u002Flucid-veille\u002FSKILL.md",[],[184,185,186,187,188,189,124],"lucid veille","supabase","monitoring","auto","publishing","digest"]