[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M718M5YMYBJJVPS8KA4N8KCB":3,"skill-same:01M718M5YMYBJJVPS8KA4N8KCB":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M718M5YMYBJJVPS8KA4N8KCB","vendor-preferences",null,"Record the user's own preferences for contacting a vendor — which channel they prefer for bugs, feature requests or support, channels to avoid, private addresses, and personal contacts at the company (a developer they know, an account manager, a WhatsApp number, someone met in person). Use when the user says \"I prefer to email X\", \"don't post X stuff on Reddit\", \"I know someone at X\", \"for X feature requests go to …\", or \"remember that for X …\".","danielrosehill\u002FVendor-Liaison","danielrosehill","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F40233203?v=4","01M718KBPNC6F07QGG856HSH3G","Daniel Rosehill","01M718KBQR1KS2W899YB6JGHSH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fvendor-preferences\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"vendor preferences","vendor","preferences","requests","reddit","post","record","contacts","channels","number","when","use","company","for","email","feature","bugs","which","remember","account manager","2026-11-10 10:12:30",false,"---\nname: vendor-preferences\ndescription: Record the user's own preferences for contacting a vendor — which channel they prefer for bugs, feature requests or support, channels to avoid, private addresses, and personal contacts at the company (a developer they know, an account manager, a WhatsApp number, someone met in person). Use when the user says \"I prefer to email X\", \"don't post X stuff on Reddit\", \"I know someone at X\", \"for X feature requests go to …\", or \"remember that for X …\".\n---\n\n# Vendor preferences and contacts\n\nPreferences are private. They live in the user's overlay, never in the plugin repository:\n\n```bash\npython3 \u003Cplugin-root>\u002Fscripts\u002Fliaison.py paths    # overlay_dir\n```\n\nThere's one file per vendor, `\u003Coverlay_dir>\u002F\u003Cvendor-id>.json`. Create the directory and\nthe file if they don't exist. Read the file before writing to it, and merge into it;\nnever replace the whole file.\n\n## Shape\n\n```json\n{\n  \"channels\": [\n    {\"id\": \"feedback-email\", \"type\": \"email\", \"target\": \"feedback@example.com\",\n     \"visibility\": \"private\", \"purposes\": [\"feature\"], \"status\": \"confirmed\",\n     \"source\": \"user, YYYY-MM-DD\", \"notes\": \"Not published; from the user.\"}\n  ],\n  \"prefer\": {\n    \"feature\": {\"channel\": \"feedback-email\", \"why\": \"User prefers email for feature requests.\"}\n  },\n  \"avoid\": [\"reddit\"],\n  \"contacts\": [\n    {\"id\": \"jane\", \"name\": \"Jane Doe\", \"role\": \"Developer advocate\", \"organisation\": \"Example Ltd\",\n     \"methods\": [{\"type\": \"whatsapp\", \"value\": \"+10000000000\"}, {\"type\": \"email\", \"value\": \"jane@example.com\"}],\n     \"relationship\": \"Met at a conference; happy to take product feedback directly.\",\n     \"use_for\": [\"feature\", \"bug\"],\n     \"etiquette\": \"Informal; batch small things rather than messaging often.\",\n     \"last_contact\": \"YYYY-MM-DD\"}\n  ],\n  \"notes\": \"\",\n  \"vendor\": null\n}\n```\n\n- `prefer.\u003Cpurpose>.channel` can name a public channel id from `vendors\u002F\u003Cid>\u002Fvendor.json`,\n  a private channel defined in this file, or `contact:\u003Ccontact id>`.\n- `avoid` lists channel ids never to suggest for this vendor.\n- `vendor` holds a full private vendor definition (the same shape as `vendor.json`) for\n  a vendor that isn't in the public data. Leave it out otherwise.\n- Contacts are personal data. They stay in this file and are never copied into the repo,\n  a public post or a log line.\n\n## After writing\n\nRun `python3 \u003Cplugin-root>\u002Fscripts\u002Fliaison.py validate \u003Cvendor-id>`, then\n`route \u003Cvendor-id> \u003Cpurpose>`. Show the user that the preference now ranks first, or the\nwarning that explains why it doesn't (for example, a public channel preferred for\nsecurity).\n","# Vendor preferences and contacts\n\nPreferences are private. They live in the user's overlay, never in the plugin repository:\n\n```bash\npython3 \u003Cplugin-root>\u002Fscripts\u002Fliaison.py paths    # overlay_dir\n```\n\nThere's one file per vendor, `\u003Coverlay_dir>\u002F\u003Cvendor-id>.json`. Create the directory and\nthe file if they don't exist. Read the file before writing to it, and merge into it;\nnever replace the whole file.\n\n## Shape\n\n```json\n{\n  \"channels\": [\n    {\"id\": \"feedback-email\", \"type\": \"email\", \"target\": \"feedback@example.com\",\n     \"visibility\": \"private\", \"purposes\": [\"feature\"], \"status\": \"confirmed\",\n     \"source\": \"user, YYYY-MM-DD\", \"notes\": \"Not published; from the user.\"}\n  ],\n  \"prefer\": {\n    \"feature\": {\"channel\": \"feedback-email\", \"why\": \"User prefers email for feature requests.\"}\n  },\n  \"avoid\": [\"reddit\"],\n  \"contacts\": [\n    {\"id\": \"jane\", \"name\": \"Jane Doe\", \"role\": \"Developer advocate\", \"organisation\": \"Example Ltd\",\n     \"methods\": [{\"type\": \"whatsapp\", \"value\": \"+10000000000\"}, {\"type\": \"email\", \"value\": \"jane@example.com\"}],\n     \"relationship\": \"Met at a conference; happy to take product feedback directly.\",\n     \"use_for\": [\"feature\", \"bug\"],\n     \"etiquette\": \"Informal; batch small things rather than messaging often.\",\n     \"last_contact\": \"YYYY-MM-DD\"}\n  ],\n  \"notes\": \"\",\n  \"vendor\": null\n}\n```\n\n- `prefer.\u003Cpurpose>.channel` can name a public channel id from `vendors\u002F\u003Cid>\u002Fvendor.json`,\n  a private channel defined in this file, or `contact:\u003Ccontact id>`.\n- `avoid` lists channel ids never to suggest for this vendor.\n- `vendor` holds a full private vendor definition (the same shape as `vendor.json`) for\n  a vendor that isn't in the public data. Leave it out otherwise.\n- Contacts are personal data. They stay in this file and are never copied into the repo,\n  a public post or a log line.\n\n## After writing\n\nRun `python3 \u003Cplugin-root>\u002Fscripts\u002Fliaison.py validate \u003Cvendor-id>`, then\n`route \u003Cvendor-id> \u003Cpurpose>`. Show the user that the preference now ranks first, or the\nwarning that explains why it doesn't (for example, a public channel preferred for\nsecurity).\n",{"name":5,"description":7},"master","e504fb5fc47e6cac00f2fa2bb0dced5951092a9b","skills\u002Fvendor-preferences","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison","https:\u002F\u002Fgithub.com\u002Fdanielrosehill","https:\u002F\u002Fwww.danielrosehill.com","Focus: Agentic AI, MCP, and workflow automation (esp. voice assisted).  Exploring: multiagent use-cases for AI & geopol sims. GH activity: Claude assisted.","2026-10-23 04:48:18",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add danielrosehill\u002FVendor-Liaison --skill vendor-preferences",{"tool":58,"command":59},"bunx","bunx skills add danielrosehill\u002FVendor-Liaison --skill vendor-preferences",{"tool":61,"command":62},"pnpm","pnpm dlx skills add danielrosehill\u002FVendor-Liaison --skill vendor-preferences","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fvendor-preferences\u002FSKILL.md",true,[],[67,89,106,123,141,159],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":39},"01M718M31X6ZD6KYH17SB3VPG9","security-disclosure","Disclose a security vulnerability to a software vendor responsibly, through a private channel only — bug-bounty program, security.txt contact, security@ address, or a trusted contact at the company — never a public tracker, forum or social post. Use when the user has found a vulnerability, data exposure, auth bypass, secret leak or other security flaw in someone else's product and wants to report it.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity-disclosure\u002FSKILL.md",[],[74,75,76,77,78,31,79,80,81,30,29,82,83,84,24,85,86,20,87,88],"security disclosure","security","never","bug-bounty","auth","social","only","social post","security vulnerability","program","vulnerability","product","tracker","at","report",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":39},"01M718M002DQVERENHJ4NZ8VVJ","route","Work out where to send something to a software vendor — a bug report, feature request, security vulnerability, support question or general feedback — taking the vendor's own channels and the user's personal preferences and contacts into account. Use when the user asks \"where do I report this to X\", \"how do I request a feature from X\", \"who do I tell about this bug\", or before any of the report, security-disclosure or vendor-specific filing skills.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Froute\u002FSKILL.md",[],[91,96,97,34,98,99,100,101,21,30,29,82,84,27,26,102,103,104,20,105],"do","feedback","send","filing","general","question","work","how","support","request",{"skillNo":107,"name":88,"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":116,"publishedAt":39},"01M718KX5ENS7DTKN9B2X0Z1DB","Send a bug report, feature request, support question or feedback to a software vendor through the right channel — email, GitHub issue, forum or subreddit post, contact form, in-app form, or a message to a personal contact at the company — after checking it hasn't already been reported. Use when the user says \"report this to X\", \"send X a feature request\", \"email the developer about this bug\", \"tell my contact at X\". For security vulnerabilities use security-disclosure instead.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Freport\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[88,117,118,97,34,33,32,98,31,101,30,29,24,119,120,104,121,20,105,122],"app","form","message","github","github issue","about",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":39},"01M718KTWDF57HQF7HXS0HNWYF","op-fr-tracker","Log 1Password feature requests and threads the user posted or joined, and check them for staff replies or shipped features.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fop-fr-tracker\u002FSKILL.md",[],[86,130,131,132,133,134,22,34,32,135,136,137,138,139,140],"op","op fr tracker","replies","1password","threads","features","feature requests","Staff","user","log","check",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":39},"01M718KSDECJSWDM8DB9D1XAQX","op-fr-search","Search the 1Password Community and release notes for an existing feature request or answer before posting a new one.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fop-fr-search\u002FSKILL.md",[],[148,149,130,150,151,133,152,34,32,105,153,154,155,156,157,158],"search","op fr search","community","notes","posting","answer","release","new","release notes","Existing","feature request",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":39},"01M718KQGATY2VA015JW7B4CCT","op-feature-request","Draft and submit a feature request to 1Password as a Community topic tagged Feature Request, after a duplicate check and approval.","https:\u002F\u002Fgithub.com\u002Fdanielrosehill\u002FVendor-Liaison\u002Fblob\u002Fmaster\u002Fskills\u002Fop-feature-request\u002FSKILL.md",[],[34,105,166,130,158,167,150,168,133,169,170,171,172,140],"op feature request","draft","as","duplicate","submit","tagged","approval"]