[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698VBCVHT75CB1KARKA0A10":3,"skill-same:01M698VBCVHT75CB1KARKA0A10":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M698VBCVHT75CB1KARKA0A10","gitcrawl",null,"Use for local GitHub issue\u002FPR archive search, sync freshness, clusters, durable maintainer triage, handoff to Octopool-backed gh reads, and Gitcrawl repo\u002Frelease work.","openclaw\u002Fgitcrawl","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698V4XVYTJA1SETYTCANTWK",137,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fgitcrawl\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgitcrawl\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"gh","Clusters","for","local","issue","github issue","use","repo","work","archive","search","release","pr","sync","triage","github","handoff","2026-11-10 10:12:30",false,"---\nname: create-an-asset\ndescription: Generates customized sales assets including one-pagers, proposals, executive summaries, ROI summaries, and mutual action plans from Dataverse context. Use when user says \"create a one-pager\", \"draft a proposal\", \"generate executive summary\", \"build ROI summary\", \"create mutual action plan\", \"sales asset for [account]\", \"proposal outline\", or \"customer-facing document\".\nmetadata:\n  author: Dataverse\n  version: 1.0.0\n  category: sales-productivity\n---\n\n# Create an Asset\n\nReps waste time reformatting generic templates for each prospect. This skill pulls real Dataverse data — deal context, pain points, products, account details, and relationship history — to generate tailored sales documents that feel specific to the buyer. Assets are saved back to Dataverse as annotations so the full team has access.\n\n## Instructions\n\n### Step 1: Identify Asset Type and Target\nAccept input from the user:\n- **Asset type:** One-pager, proposal outline, executive summary, ROI summary, mutual action plan (MAP), competitive battlecard, or meeting follow-up summary\n- **Target:** Opportunity name, account name, or contact name\n- **Audience:** Economic buyer, technical evaluator, end user, executive sponsor\n\n#### Step 2: Retrieve Opportunity Context\n```\nSELECT opportunityid, name, estimatedvalue, estimatedclosedate, salesstage,\n       closeprobability, budgetstatus, need, purchasetimeframe, purchaseprocess,\n       decisionmaker, description, currentsituation, customerneed,\n       customerpainpoints, msdyn_forecastcategory, ownerid, customerid, accountid\nFROM opportunity\nWHERE opportunityid = '[opportunityid]'\n```\n\nIf searching by name:\n```\nSELECT opportunityid, name, estimatedvalue, estimatedclosedate, salesstage,\n       customerid, ownerid\nFROM opportunity\nWHERE statecode = 0\nAND name LIKE '%[search_term]%'\n```\n\n#### Step 3: Retrieve Account Details\n```\nSELECT accountid, name, industrycode, revenue, numberofemployees, description,\n       address1_city, address1_stateorprovince, address1_country,\n       customertypecode, accountcategorycode, websiteurl\nFROM account\nWHERE accountid = '[accountid]'\n```\n\n#### Step 4: Retrieve Key Contacts and Stakeholders\n```\nSELECT contactid, fullname, jobtitle, emailaddress1, description\nFROM contact\nWHERE accountid = '[accountid]'\nORDER BY createdon DESC\n```\n\nIdentify stakeholder roles from jobtitle field (Economic Buyer, Technical Evaluator, Champion, End User) for use in asset personalization.\n\n#### Step 5: Retrieve Products Under Consideration\n```\nSELECT opportunityproduct.productid, product.name, product.description,\n       opportunityproduct.quantity, opportunityproduct.priceperunit,\n       opportunityproduct.tax, opportunityproduct.baseamount\nFROM opportunityproduct\nJOIN product ON opportunityproduct.productid = product.productid\nWHERE opportunityproduct.opportunityid = '[opportunityid]'\n```\n\n#### Step 6: Retrieve Activity History for Context\n```\nSELECT activityid, activitytypecode, subject, actualend, description\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nAND statecode = 1\nORDER BY actualend DESC\n```\nLimit to 5 most recent. Extract key discussion topics from subject and description fields.\n\n#### Step 7: Check for Related Products Already Owned (for ROI\u002FUpsell context)\n```\nSELECT product.name, opportunityproduct.quantity, opportunity.actualclosedate\nFROM opportunityproduct\nJOIN opportunity ON opportunityproduct.opportunityid = opportunity.opportunityid\nJOIN product ON opportunityproduct.productid = product.productid\nWHERE opportunity.customerid = '[accountid]'\nAND opportunity.statecode = 1\nORDER BY opportunity.actualclosedate DESC\n```\n\n#### Step 8: Generate Asset by Type\n\n---\n**ASSET TYPE: One-Pager**\n\nStructure:\n```\n[ACCOUNT NAME] + [YOUR COMPANY]\n[Date]\n\nTHE CHALLENGE\n[2-3 sentences from opportunity.customerpainpoints and currentsituation]\n\nOUR SOLUTION\n[Products being considered with 1-line value prop each, from product.description]\n\nWHY IT MATTERS FOR [ACCOUNT NAME]\n[Industry-specific benefit framing based on account.industry]\n[Reference estimatedvalue savings or outcomes if quantified in notes]\n\nWHAT WE'VE HEARD FROM YOU\n• [Key pain point from customerpainpoints]\n• [Need from opportunity.need field context]\n• [Timeline urgency from purchasetimeframe]\n\nNEXT STEPS\n[3 bullets: immediate action, validation step, decision checkpoint]\n\n[Rep Name] | [Title] | [Contact Info]\n```\n\n---\n**ASSET TYPE: Proposal Outline**\n\nStructure:\n```\nPROPOSAL: [Opportunity Name]\nPrepared for: [Contact Name], [Title] | [Account Name]\nDate: [Today]\n\n1. EXECUTIVE SUMMARY\n   [2 sentences: problem + proposed solution]\n\n2. UNDERSTANDING YOUR SITUATION\n   Current state: [currentsituation]\n   Key challenges: [customerpainpoints]\n   Desired outcome: [customerneed]\n\n3. PROPOSED SOLUTION\n   [Product 1 — name, description, quantity, price]\n   [Product 2 — if applicable]\n\n   Total investment: $[baseamount sum from opportunityproduct]\n\n4. IMPLEMENTATION APPROACH\n   [Phased rollout based on complexity and timeline from purchasetimeframe]\n   Timeline: [Estimated based on purchasetimeframe field]\n\n5. WHY [YOUR COMPANY]\n   [Differentiation narrative — customize based on industry and deal context]\n\n6. INVESTMENT SUMMARY\n   [Pricing table from opportunityproduct records]\n   [Payment terms if discussed]\n\n7. NEXT STEPS\n   [ ] [Action 1 with owner and date]\n   [ ] [Action 2 with owner and date]\n   [ ] Decision date: [estimatedclosedate]\n```\n\n---\n**ASSET TYPE: Executive Summary**\n\nFor economic buyer audience — concise, outcome-focused:\n```\nEXECUTIVE SUMMARY\n[Account Name] | [Opportunity Name]\n[Date]\n\nBUSINESS OBJECTIVE\n[1 sentence on what the customer is trying to achieve]\n\nRECOMMENDED APPROACH\n[Products\u002Fsolution in plain business language — no technical jargon]\n\nEXPECTED OUTCOMES\n• [Outcome 1 with estimated value\u002Fimpact if available]\n• [Outcome 2]\n• [Outcome 3]\n\nINVESTMENT\nTotal: $[estimatedvalue]\nTimeline to value: [Based on purchasetimeframe and implementation estimate]\n\nDECISION TIMELINE\nTarget close: [estimatedclosedate]\nKey milestone: [Next step from most recent activity]\n\nPrepared by: [Rep Name] | [Date]\n```\n\n---\n**ASSET TYPE: ROI Summary**\n\n```\nROI SUMMARY: [Account Name]\n[Opportunity Name] | $[estimatedvalue]\n\nCURRENT SITUATION\n[currentsituation from opportunity record]\n\nCOST OF INACTION\n[If pain points mention productivity, manual work, errors — quantify where possible]\nEstimated annual cost without solution: [If data available in notes]\n\nPROJECTED VALUE\n[Frame around pain points + products under consideration]\n• [Benefit 1 — e.g., hours saved × hourly rate if mentioned]\n• [Benefit 2 — e.g., error reduction]\n• [Benefit 3 — e.g., revenue opportunity]\n\nEstimated annual value: [Calculate if sufficient data]\nPayback period: [estimatedvalue \u002F annual value]\n\nEXISTING RELATIONSHIP\n[Reference products already owned, tenure as customer, relationship value]\n\nPrepared by: [Rep Name] | [Date]\n```\n\n---\n**ASSET TYPE: Mutual Action Plan (MAP)**\n\n```\nMUTUAL ACTION PLAN\n[Account Name] ↔ [Your Company]\nOpportunity: [Opportunity Name] | Target Close: [estimatedclosedate]\n\nSHARED GOAL\n[One sentence agreed outcome]\n\nOPEN ITEMS\nItem                    | Owner         | Due Date    | Status\n───────────────────────────────────────────────────────────────\n[From open tasks in Dataverse, listed per regardingobjectid]\n\nUPCOMING MILESTONES\nDate        | Milestone               | Owner\n[Series of steps leading to estimatedclosedate]\n\nDECISION CRITERIA\n[ ] [Criterion 1]\n[ ] [Criterion 2 — from customerneed or notes]\n[ ] Budget approved (budgetstatus target)\n[ ] Stakeholders aligned (decisionmaker = true)\n\nCONTACTS\n[Your team]: [Rep Name, title, email]\n[Their team]: [Contacts from Dataverse with jobtitle]\n```\n\n---\n**ASSET TYPE: Meeting Follow-Up Summary**\n\nPull from most recent completed appointment:\n```\nMEETING SUMMARY\n[Meeting subject] | [Date] | [Attendees]\n\nKEY DISCUSSION POINTS\n• [From appointment.description]\n\nDECISIONS MADE\n• [From notes if available]\n\nOPEN ITEMS \u002F COMMITMENTS\n[From tasks created from appointment regardingobjectid]\n\nAGREED NEXT STEPS\n[From open tasks due after meeting date]\n\nRELEVANT DEAL: [Opportunity name, stage, close date]\n\nFollow-up sent by: [Rep Name] | [Date]\n```\n\n#### Step 9: Save Asset to Dataverse\nAfter generating the asset, create an annotation record:\n```\nUse create_record tool with tablename: annotation\n- subject: \"[Asset Type] — [Account Name] — [Date]\"\n- notetext: [Full generated asset content]\n- objectid: [Opportunity ID or Account ID]\n- objecttypecode: \"opportunity\" or \"account\"\n```\n\nConfirm with the user before saving. The annotation becomes accessible to the full sales team from the opportunity or account record in Dynamics 365.\n\n### Output Format\nProvide:\n1. **Generated asset** in full (formatted for copy-paste or review)\n2. **Data sources used** — which fields populated each section\n3. **Gaps identified** — sections where data was missing and how to fill them\n4. **Save confirmation** — annotation ID after saving to Dataverse\n\n### Example Interaction\n\n**User Input:**\n\"Create a one-pager for the Fabrikam Cloud Migration opportunity.\"\n\n**Skill Output:**\n? **One-Pager: Fabrikam + [Your Company]**\n*Generated from Dataverse — March 3, 2026*\n\n---\n**FABRIKAM + CONTOSO CLOUD**\n*March 2026*\n\n**THE CHALLENGE**\nFabrikam's current on-premises infrastructure requires manual maintenance and has experienced recurring reliability issues, limiting the team's ability to scale operations efficiently. The IT team is managing integration complexity that is consuming resources better spent on business-critical work.\n\n**OUR SOLUTION**\n- **Cloud Migration Suite** — end-to-end migration tooling and managed transition service\n- **Dataverse Integration Connector** — resolves the current API timeout issues with a pre-built, certified connector\n\n**WHY IT MATTERS FOR FABRIKAM**\nManufacturing companies like Fabrikam typically reduce infrastructure overhead by 30-40% after cloud migration. Eliminating the integration bottleneck frees the IT team for higher-value projects.\n\n**WHAT WE'VE HEARD FROM YOU**\n- Reliability issues with current vendor are creating operational risk\n- Timeline: decision needed by end of Q1 to hit implementation target\n- Budget allocated at $85,000 for initial implementation\n\n**NEXT STEPS**\n- [ ] Emily and James: review updated SOW (due this week)\n- [ ] Technical validation: API connector pilot — 1 week\n- [ ] Sign-off: March 31\n\n*Sarah Johnson | Account Executive | sarah.johnson@contoso.com*\n\n---\n**Data used:** customerpainpoints, products in opportunity, estimatedvalue, estimatedclosedate, open tasks\n**Gaps:** ROI quantification unavailable — ask Emily for current infrastructure cost to strengthen the one-pager\n**Saved:** Annotation created on Fabrikam Cloud Migration (ID: annotation-xxx)\n\n### Dataverse Tables Used\n| Table | Purpose |\n|-------|---------|\n| `opportunity` | Deal context, pain points, qualification |\n| `account` | Account details and industry |\n| `contact` | Stakeholder names and titles |\n| `opportunityproduct` | Products in scope and pricing |\n| `product` | Product descriptions |\n| `activitypointer` | Recent activity context |\n| `task` | Open commitments for MAP |\n| `annotation` | Save generated asset |\n\n### Key Fields Reference\n**opportunity:**\n- `currentsituation` (MULTILINE TEXT) - Customer's current state\n- `customerneed` (MULTILINE TEXT) - What they need\n- `customerpainpoints` (MULTILINE TEXT) - Pain points identified\n- `description` (MULTILINE TEXT) - General notes\n\n**annotation:**\n- `subject` (NVARCHAR 500) - Asset title\n- `notetext` (MULTILINE TEXT) - Full asset content\n- `objectid` (LOOKUP) - Linked opportunity or account\n- `objecttypecode` (NVARCHAR) - \"opportunity\" or \"account\"\n\n### Configurable Parameters\n- Default asset type (one-pager by default)\n- Auto-save to Dataverse (default: prompt before saving)\n- Maximum asset length (default: no limit)\n- Product description verbosity (brief tagline vs full description)\n\n## Examples\n\n### Example 1: Executive Summary One-Pager\n\n**User says:** \"Create a one-pager for the Fabrikam opportunity\"\n\n**Actions:**\n1. Query Fabrikam opportunity for deal context\n2. Retrieve account details and stakeholders\n3. Pull products under consideration\n4. Extract pain points and customer needs\n5. Generate formatted one-pager\n\n**Result:**\n```\nFABRIKAM + CONTOSO\nMarch 2026\n\nTHE CHALLENGE:\nFabrikam's current on-premise infrastructure creates\noperational risk and limits their expansion plans.\n\nOUR SOLUTION:\n• Cloud Migration Platform ($65,000)\n• Managed Support Package ($20,000\u002Fyr)\n\nWHAT WE'VE HEARD FROM YOU:\n• Reliability issues creating operational risk\n• Timeline: decision by end of Q1\n• Budget allocated at $85,000\n\nNEXT STEPS:\n[ ] Review updated SOW (this week)\n[ ] API connector pilot (1 week)\n[ ] Sign-off: March 31\n\n---\nSaved: Annotation created on Fabrikam opportunity\n```\n\n### Example 2: Mutual Action Plan\n\n**User says:** \"Build a mutual action plan for Alpine Ski House\"\n\n**Actions:**\n1. Query opportunity and open tasks\n2. Identify stakeholders and decision timeline\n3. Calculate milestone dates\n4. Generate structured MAP\n\n**Result:**\n```\nMUTUAL ACTION PLAN\nAlpine Ski House + Contoso\n\nGOAL: Go-live by April 15, 2026\n\nMILESTONES:\n| Date    | Action                    | Owner      |\n|---------|---------------------------|------------|\n| Mar 7   | Technical requirements    | Lisa (ASH) |\n| Mar 14  | Security review complete  | IT Team    |\n| Mar 21  | Contract redlines         | Legal      |\n| Mar 28  | Final sign-off            | CFO        |\n| Apr 15  | Go-live                   | Joint team |\n\nSUCCESS CRITERIA:\n• 95% uptime SLA met\n• Training complete for 50 users\n• Integration with existing ERP\n\n---\nSaved: Annotation created on Alpine Ski House opportunity\n```\n\n### Example 3: ROI Summary\n\n**User says:** \"Generate an ROI summary for Northwind\"\n\n**Actions:**\n1. Query opportunity and products\n2. Retrieve current situation and pain points\n3. Calculate potential savings based on product benefits\n4. Generate ROI document\n\n**Result:**\n```\nROI SUMMARY: NORTHWIND TRADERS\n\nCURRENT STATE:\n• Manual order processing: 2 hours\u002Fday\n• Error rate: 3.5%\n• Customer complaints: 12\u002Fmonth\n\nPROJECTED BENEFITS:\n| Metric            | Current | Projected | Savings  |\n|-------------------|---------|-----------|----------|\n| Processing time   | 2 hr\u002Fday| 30 min    | $18K\u002Fyr  |\n| Error rate        | 3.5%    | 0.5%      | $12K\u002Fyr  |\n| Customer sat      | 72%     | 90%       | Retention|\n\nINVESTMENT: $45,000\nANNUAL SAVINGS: $30,000\nPAYBACK: 18 months\n\n---\nGaps: Need actual infrastructure costs from Emily\nSaved: Annotation created on Northwind opportunity\n```\n\n## Troubleshooting\n\n### Error: Opportunity not found\n**Cause:** Name doesn't match or opportunity is closed\n**Solution:**\n- Search with partial name\n- Include closed opportunities in search\n- Present multiple matches for selection\n\n### Error: Insufficient context for asset\n**Cause:** Opportunity missing key fields (pain points, products, etc.)\n**Solution:**\n- Note missing data in output\n- Generate with available data, mark gaps\n- Suggest fields to populate for better assets\n\n### Error: No products attached to opportunity\n**Cause:** opportunityproduct records not created\n**Solution:**\n- Ask user for product information\n- Check if products exist at account level\n- Generate asset without pricing details, flag for follow-up\n","# Create an Asset\n\nReps waste time reformatting generic templates for each prospect. This skill pulls real Dataverse data — deal context, pain points, products, account details, and relationship history — to generate tailored sales documents that feel specific to the buyer. Assets are saved back to Dataverse as annotations so the full team has access.\n\n## Instructions\n\n### Step 1: Identify Asset Type and Target\nAccept input from the user:\n- **Asset type:** One-pager, proposal outline, executive summary, ROI summary, mutual action plan (MAP), competitive battlecard, or meeting follow-up summary\n- **Target:** Opportunity name, account name, or contact name\n- **Audience:** Economic buyer, technical evaluator, end user, executive sponsor\n\n#### Step 2: Retrieve Opportunity Context\n```\nSELECT opportunityid, name, estimatedvalue, estimatedclosedate, salesstage,\n       closeprobability, budgetstatus, need, purchasetimeframe, purchaseprocess,\n       decisionmaker, description, currentsituation, customerneed,\n       customerpainpoints, msdyn_forecastcategory, ownerid, customerid, accountid\nFROM opportunity\nWHERE opportunityid = '[opportunityid]'\n```\n\nIf searching by name:\n```\nSELECT opportunityid, name, estimatedvalue, estimatedclosedate, salesstage,\n       customerid, ownerid\nFROM opportunity\nWHERE statecode = 0\nAND name LIKE '%[search_term]%'\n```\n\n#### Step 3: Retrieve Account Details\n```\nSELECT accountid, name, industrycode, revenue, numberofemployees, description,\n       address1_city, address1_stateorprovince, address1_country,\n       customertypecode, accountcategorycode, websiteurl\nFROM account\nWHERE accountid = '[accountid]'\n```\n\n#### Step 4: Retrieve Key Contacts and Stakeholders\n```\nSELECT contactid, fullname, jobtitle, emailaddress1, description\nFROM contact\nWHERE accountid = '[accountid]'\nORDER BY createdon DESC\n```\n\nIdentify stakeholder roles from jobtitle field (Economic Buyer, Technical Evaluator, Champion, End User) for use in asset personalization.\n\n#### Step 5: Retrieve Products Under Consideration\n```\nSELECT opportunityproduct.productid, product.name, product.description,\n       opportunityproduct.quantity, opportunityproduct.priceperunit,\n       opportunityproduct.tax, opportunityproduct.baseamount\nFROM opportunityproduct\nJOIN product ON opportunityproduct.productid = product.productid\nWHERE opportunityproduct.opportunityid = '[opportunityid]'\n```\n\n#### Step 6: Retrieve Activity History for Context\n```\nSELECT activityid, activitytypecode, subject, actualend, description\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nAND statecode = 1\nORDER BY actualend DESC\n```\nLimit to 5 most recent. Extract key discussion topics from subject and description fields.\n\n#### Step 7: Check for Related Products Already Owned (for ROI\u002FUpsell context)\n```\nSELECT product.name, opportunityproduct.quantity, opportunity.actualclosedate\nFROM opportunityproduct\nJOIN opportunity ON opportunityproduct.opportunityid = opportunity.opportunityid\nJOIN product ON opportunityproduct.productid = product.productid\nWHERE opportunity.customerid = '[accountid]'\nAND opportunity.statecode = 1\nORDER BY opportunity.actualclosedate DESC\n```\n\n#### Step 8: Generate Asset by Type\n\n---\n**ASSET TYPE: One-Pager**\n\nStructure:\n```\n[ACCOUNT NAME] + [YOUR COMPANY]\n[Date]\n\nTHE CHALLENGE\n[2-3 sentences from opportunity.customerpainpoints and currentsituation]\n\nOUR SOLUTION\n[Products being considered with 1-line value prop each, from product.description]\n\nWHY IT MATTERS FOR [ACCOUNT NAME]\n[Industry-specific benefit framing based on account.industry]\n[Reference estimatedvalue savings or outcomes if quantified in notes]\n\nWHAT WE'VE HEARD FROM YOU\n• [Key pain point from customerpainpoints]\n• [Need from opportunity.need field context]\n• [Timeline urgency from purchasetimeframe]\n\nNEXT STEPS\n[3 bullets: immediate action, validation step, decision checkpoint]\n\n[Rep Name] | [Title] | [Contact Info]\n```\n\n---\n**ASSET TYPE: Proposal Outline**\n\nStructure:\n```\nPROPOSAL: [Opportunity Name]\nPrepared for: [Contact Name], [Title] | [Account Name]\nDate: [Today]\n\n1. EXECUTIVE SUMMARY\n   [2 sentences: problem + proposed solution]\n\n2. UNDERSTANDING YOUR SITUATION\n   Current state: [currentsituation]\n   Key challenges: [customerpainpoints]\n   Desired outcome: [customerneed]\n\n3. PROPOSED SOLUTION\n   [Product 1 — name, description, quantity, price]\n   [Product 2 — if applicable]\n\n   Total investment: $[baseamount sum from opportunityproduct]\n\n4. IMPLEMENTATION APPROACH\n   [Phased rollout based on complexity and timeline from purchasetimeframe]\n   Timeline: [Estimated based on purchasetimeframe field]\n\n5. WHY [YOUR COMPANY]\n   [Differentiation narrative — customize based on industry and deal context]\n\n6. INVESTMENT SUMMARY\n   [Pricing table from opportunityproduct records]\n   [Payment terms if discussed]\n\n7. NEXT STEPS\n   [ ] [Action 1 with owner and date]\n   [ ] [Action 2 with owner and date]\n   [ ] Decision date: [estimatedclosedate]\n```\n\n---\n**ASSET TYPE: Executive Summary**\n\nFor economic buyer audience — concise, outcome-focused:\n```\nEXECUTIVE SUMMARY\n[Account Name] | [Opportunity Name]\n[Date]\n\nBUSINESS OBJECTIVE\n[1 sentence on what the customer is trying to achieve]\n\nRECOMMENDED APPROACH\n[Products\u002Fsolution in plain business language — no technical jargon]\n\nEXPECTED OUTCOMES\n• [Outcome 1 with estimated value\u002Fimpact if available]\n• [Outcome 2]\n• [Outcome 3]\n\nINVESTMENT\nTotal: $[estimatedvalue]\nTimeline to value: [Based on purchasetimeframe and implementation estimate]\n\nDECISION TIMELINE\nTarget close: [estimatedclosedate]\nKey milestone: [Next step from most recent activity]\n\nPrepared by: [Rep Name] | [Date]\n```\n\n---\n**ASSET TYPE: ROI Summary**\n\n```\nROI SUMMARY: [Account Name]\n[Opportunity Name] | $[estimatedvalue]\n\nCURRENT SITUATION\n[currentsituation from opportunity record]\n\nCOST OF INACTION\n[If pain points mention productivity, manual work, errors — quantify where possible]\nEstimated annual cost without solution: [If data available in notes]\n\nPROJECTED VALUE\n[Frame around pain points + products under consideration]\n• [Benefit 1 — e.g., hours saved × hourly rate if mentioned]\n• [Benefit 2 — e.g., error reduction]\n• [Benefit 3 — e.g., revenue opportunity]\n\nEstimated annual value: [Calculate if sufficient data]\nPayback period: [estimatedvalue \u002F annual value]\n\nEXISTING RELATIONSHIP\n[Reference products already owned, tenure as customer, relationship value]\n\nPrepared by: [Rep Name] | [Date]\n```\n\n---\n**ASSET TYPE: Mutual Action Plan (MAP)**\n\n```\nMUTUAL ACTION PLAN\n[Account Name] ↔ [Your Company]\nOpportunity: [Opportunity Name] | Target Close: [estimatedclosedate]\n\nSHARED GOAL\n[One sentence agreed outcome]\n\nOPEN ITEMS\nItem                    | Owner         | Due Date    | Status\n───────────────────────────────────────────────────────────────\n[From open tasks in Dataverse, listed per regardingobjectid]\n\nUPCOMING MILESTONES\nDate        | Milestone               | Owner\n[Series of steps leading to estimatedclosedate]\n\nDECISION CRITERIA\n[ ] [Criterion 1]\n[ ] [Criterion 2 — from customerneed or notes]\n[ ] Budget approved (budgetstatus target)\n[ ] Stakeholders aligned (decisionmaker = true)\n\nCONTACTS\n[Your team]: [Rep Name, title, email]\n[Their team]: [Contacts from Dataverse with jobtitle]\n```\n\n---\n**ASSET TYPE: Meeting Follow-Up Summary**\n\nPull from most recent completed appointment:\n```\nMEETING SUMMARY\n[Meeting subject] | [Date] | [Attendees]\n\nKEY DISCUSSION POINTS\n• [From appointment.description]\n\nDECISIONS MADE\n• [From notes if available]\n\nOPEN ITEMS \u002F COMMITMENTS\n[From tasks created from appointment regardingobjectid]\n\nAGREED NEXT STEPS\n[From open tasks due after meeting date]\n\nRELEVANT DEAL: [Opportunity name, stage, close date]\n\nFollow-up sent by: [Rep Name] | [Date]\n```\n\n#### Step 9: Save Asset to Dataverse\nAfter generating the asset, create an annotation record:\n```\nUse create_record tool with tablename: annotation\n- subject: \"[Asset Type] — [Account Name] — [Date]\"\n- notetext: [Full generated asset content]\n- objectid: [Opportunity ID or Account ID]\n- objecttypecode: \"opportunity\" or \"account\"\n```\n\nConfirm with the user before saving. The annotation becomes accessible to the full sales team from the opportunity or account record in Dynamics 365.\n\n### Output Format\nProvide:\n1. **Generated asset** in full (formatted for copy-paste or review)\n2. **Data sources used** — which fields populated each section\n3. **Gaps identified** — sections where data was missing and how to fill them\n4. **Save confirmation** — annotation ID after saving to Dataverse\n\n### Example Interaction\n\n**User Input:**\n\"Create a one-pager for the Fabrikam Cloud Migration opportunity.\"\n\n**Skill Output:**\n? **One-Pager: Fabrikam + [Your Company]**\n*Generated from Dataverse — March 3, 2026*\n\n---\n**FABRIKAM + CONTOSO CLOUD**\n*March 2026*\n\n**THE CHALLENGE**\nFabrikam's current on-premises infrastructure requires manual maintenance and has experienced recurring reliability issues, limiting the team's ability to scale operations efficiently. The IT team is managing integration complexity that is consuming resources better spent on business-critical work.\n\n**OUR SOLUTION**\n- **Cloud Migration Suite** — end-to-end migration tooling and managed transition service\n- **Dataverse Integration Connector** — resolves the current API timeout issues with a pre-built, certified connector\n\n**WHY IT MATTERS FOR FABRIKAM**\nManufacturing companies like Fabrikam typically reduce infrastructure overhead by 30-40% after cloud migration. Eliminating the integration bottleneck frees the IT team for higher-value projects.\n\n**WHAT WE'VE HEARD FROM YOU**\n- Reliability issues with current vendor are creating operational risk\n- Timeline: decision needed by end of Q1 to hit implementation target\n- Budget allocated at $85,000 for initial implementation\n\n**NEXT STEPS**\n- [ ] Emily and James: review updated SOW (due this week)\n- [ ] Technical validation: API connector pilot — 1 week\n- [ ] Sign-off: March 31\n\n*Sarah Johnson | Account Executive | sarah.johnson@contoso.com*\n\n---\n**Data used:** customerpainpoints, products in opportunity, estimatedvalue, estimatedclosedate, open tasks\n**Gaps:** ROI quantification unavailable — ask Emily for current infrastructure cost to strengthen the one-pager\n**Saved:** Annotation created on Fabrikam Cloud Migration (ID: annotation-xxx)\n\n### Dataverse Tables Used\n| Table | Purpose |\n|-------|---------|\n| `opportunity` | Deal context, pain points, qualification |\n| `account` | Account details and industry |\n| `contact` | Stakeholder names and titles |\n| `opportunityproduct` | Products in scope and pricing |\n| `product` | Product descriptions |\n| `activitypointer` | Recent activity context |\n| `task` | Open commitments for MAP |\n| `annotation` | Save generated asset |\n\n### Key Fields Reference\n**opportunity:**\n- `currentsituation` (MULTILINE TEXT) - Customer's current state\n- `customerneed` (MULTILINE TEXT) - What they need\n- `customerpainpoints` (MULTILINE TEXT) - Pain points identified\n- `description` (MULTILINE TEXT) - General notes\n\n**annotation:**\n- `subject` (NVARCHAR 500) - Asset title\n- `notetext` (MULTILINE TEXT) - Full asset content\n- `objectid` (LOOKUP) - Linked opportunity or account\n- `objecttypecode` (NVARCHAR) - \"opportunity\" or \"account\"\n\n### Configurable Parameters\n- Default asset type (one-pager by default)\n- Auto-save to Dataverse (default: prompt before saving)\n- Maximum asset length (default: no limit)\n- Product description verbosity (brief tagline vs full description)\n\n## Examples\n\n### Example 1: Executive Summary One-Pager\n\n**User says:** \"Create a one-pager for the Fabrikam opportunity\"\n\n**Actions:**\n1. Query Fabrikam opportunity for deal context\n2. Retrieve account details and stakeholders\n3. Pull products under consideration\n4. Extract pain points and customer needs\n5. Generate formatted one-pager\n\n**Result:**\n```\nFABRIKAM + CONTOSO\nMarch 2026\n\nTHE CHALLENGE:\nFabrikam's current on-premise infrastructure creates\noperational risk and limits their expansion plans.\n\nOUR SOLUTION:\n• Cloud Migration Platform ($65,000)\n• Managed Support Package ($20,000\u002Fyr)\n\nWHAT WE'VE HEARD FROM YOU:\n• Reliability issues creating operational risk\n• Timeline: decision by end of Q1\n• Budget allocated at $85,000\n\nNEXT STEPS:\n[ ] Review updated SOW (this week)\n[ ] API connector pilot (1 week)\n[ ] Sign-off: March 31\n\n---\nSaved: Annotation created on Fabrikam opportunity\n```\n\n### Example 2: Mutual Action Plan\n\n**User says:** \"Build a mutual action plan for Alpine Ski House\"\n\n**Actions:**\n1. Query opportunity and open tasks\n2. Identify stakeholders and decision timeline\n3. Calculate milestone dates\n4. Generate structured MAP\n\n**Result:**\n```\nMUTUAL ACTION PLAN\nAlpine Ski House + Contoso\n\nGOAL: Go-live by April 15, 2026\n\nMILESTONES:\n| Date    | Action                    | Owner      |\n|---------|---------------------------|------------|\n| Mar 7   | Technical requirements    | Lisa (ASH) |\n| Mar 14  | Security review complete  | IT Team    |\n| Mar 21  | Contract redlines         | Legal      |\n| Mar 28  | Final sign-off            | CFO        |\n| Apr 15  | Go-live                   | Joint team |\n\nSUCCESS CRITERIA:\n• 95% uptime SLA met\n• Training complete for 50 users\n• Integration with existing ERP\n\n---\nSaved: Annotation created on Alpine Ski House opportunity\n```\n\n### Example 3: ROI Summary\n\n**User says:** \"Generate an ROI summary for Northwind\"\n\n**Actions:**\n1. Query opportunity and products\n2. Retrieve current situation and pain points\n3. Calculate potential savings based on product benefits\n4. Generate ROI document\n\n**Result:**\n```\nROI SUMMARY: NORTHWIND TRADERS\n\nCURRENT STATE:\n• Manual order processing: 2 hours\u002Fday\n• Error rate: 3.5%\n• Customer complaints: 12\u002Fmonth\n\nPROJECTED BENEFITS:\n| Metric            | Current | Projected | Savings  |\n|-------------------|---------|-----------|----------|\n| Processing time   | 2 hr\u002Fday| 30 min    | $18K\u002Fyr  |\n| Error rate        | 3.5%    | 0.5%      | $12K\u002Fyr  |\n| Customer sat      | 72%     | 90%       | Retention|\n\nINVESTMENT: $45,000\nANNUAL SAVINGS: $30,000\nPAYBACK: 18 months\n\n---\nGaps: Need actual infrastructure costs from Emily\nSaved: Annotation created on Northwind opportunity\n```\n\n## Troubleshooting\n\n### Error: Opportunity not found\n**Cause:** Name doesn't match or opportunity is closed\n**Solution:**\n- Search with partial name\n- Include closed opportunities in search\n- Present multiple matches for selection\n\n### Error: Insufficient context for asset\n**Cause:** Opportunity missing key fields (pain points, products, etc.)\n**Solution:**\n- Note missing data in output\n- Generate with available data, mark gaps\n- Suggest fields to populate for better assets\n\n### Error: No products attached to opportunity\n**Cause:** opportunityproduct records not created\n**Solution:**\n- Ask user for product information\n- Check if products exist at account level\n- Generate asset without pricing details, flag for follow-up\n",{"name":40,"metadata":41,"description":45},"create-an-asset",{"author":42,"version":43,"category":44},"Dataverse","1.0.0","sales-productivity","Generates customized sales assets including one-pagers, proposals, executive summaries, ROI summaries, and mutual action plans from Dataverse context. Use when user says \"create a one-pager\", \"draft a proposal\", \"generate executive summary\", \"build ROI summary\", \"create mutual action plan\", \"sales asset for [account]\", \"proposal outline\", or \"customer-facing document\".","main","10016dd09acfa5f4dfce84de4e34ef294961faaf",".agents\u002Fskills\u002Fgitcrawl",42,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fgitcrawl","https:\u002F\u002Fgitcrawl.sh","https:\u002F\u002Fgithub.com\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","Your personal, open source AI assistant.","2026-11-09 13:49:43",{"source":8,"skillName":40,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add openclaw\u002Fgitcrawl --skill create-an-asset",{"tool":62,"command":63},"bunx","bunx skills add openclaw\u002Fgitcrawl --skill create-an-asset",{"tool":65,"command":66},"pnpm","pnpm dlx skills add openclaw\u002Fgitcrawl --skill create-an-asset","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fgitcrawl\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgitcrawl\u002FSKILL.md",true,[],[71,91],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":35},"01M698VA61YEDTP1HK98ZKVSPV","crabbox","Use the Crabbox wrapper for OpenClaw remote validation across Linux, macOS, Windows, and WSL2, including delegated Blacksmith Testbox proof. Report the actual provider and id.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fgitcrawl\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcrabbox\u002FSKILL.md",[],[73,20,78,79,80,81,82,83,84,85,24,86,87,88,89,90,9],"openclaw remote","remote","blacksmith testbox","proof","id","across","provider","Wrapper","validation","report","windows","linux","macos",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":102,"publishedAt":35},"01M698V8AJSCFR6RXHGKDGTVXH","autoreview","Structured code review through the shared OpenClaw agent-skills installation.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fgitcrawl\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fautoreview\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[93,103,104,105,106,107,108,109,110,9],"code review","shared","structured","installation","agent-skills","openclaw agent","code","review"]