[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MF4DM665270XYCZHA3C491":3,"skill-same:01M6MF4DM665270XYCZHA3C491":84},{"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":28,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6MF4DM665270XYCZHA3C491","cometchat-android-v6-extensions",null,"Turn on CometChat Dashboard extensions in an Android v6 app — stickers, polls, collaborative whiteboard and document, message translation, link preview, thumbnail generation, message shortcuts — and know exactly where each one appears in the UI once enabled (mostly zero client code). Triggers: 'enable stickers android', 'add polls to my android chat', 'message translation android cometchat', 'link previews not showing', 'what extensions does the android ui kit support'.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1559,"MIT","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-extensions\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"cometchat","cometchat android v6 extensions","extensions","android","jvm","verified","my","whiteboard","kit","add","app","triggers","preview","message","translation","compose","ZeRO","ui","code","support","dashboard","2026-11-10 10:12:30",false,"---\nname: cometchat-android-v6-extensions\ndescription: \"Turn on CometChat Dashboard extensions in an Android v6 app — stickers, polls, collaborative whiteboard and document, message translation, link preview, thumbnail generation, message shortcuts — and know exactly where each one appears in the UI once enabled (mostly zero client code). Triggers: 'enable stickers android', 'add polls to my android chat', 'message translation android cometchat', 'link previews not showing', 'what extensions does the android ui kit support'.\"\nlicense: \"MIT\"\ncompatibility: \"Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-kotlin-android ^6 OR com.cometchat:chatuikit-compose-android ^6 (6.0.x, verified 6.0.5); com.cometchat:chat-sdk-android ^5\"\nmetadata:\n  author: \"CometChat\"\n  version: \"1.0.0\"\n  tags: \"cometchat android extensions v6 stickers polls translation dashboard\"\n---\n\n> **Ground truth:** `features.android-v6.json` (the extension entries + their `enablement`) + catalog `android-v6.json` + the live page `\u002Fui-kit\u002Fandroid\u002Fextensions` (the manual — 8 built-ins) and each extension's `\u002Ffundamentals\u002F*` page. Verify symbols against the catalog; fetch details from docs; never invent an extension.\n\n## Companion skills (read first)\n- `cometchat-android-v6-core` — install, credentials, `initFromSettings → login → render`, the fetch map. Assumed here, never repeated.\n- `cometchat-android-v6-features` — the general feature-lookup skill; come here for the Dashboard-extension slice specifically.\n\n## Use this skill when\n\"enable stickers\u002Fpolls\u002Fwhiteboard\u002Fdocument\u002Ftranslation\u002Flink preview\u002Fthumbnails\", \"add message shortcuts\", \"which extensions work with the Android UI Kit?\", \"I enabled it in the Dashboard but nothing shows up\".\n\n## Prerequisites & install\nSame kit + `initFromSettings → login` as `core`. **No Gradle dependency and (for the 7 auto-rendered ones) no client code** — the UI Kit detects an enabled extension after init+login and renders it in the right component.\n\n## The 8 built-ins — enable in Dashboard, appears here\n| Extension | Enable | Where it appears once enabled |\n|---|---|---|\n| **Stickers** | Dashboard → Extensions | Composer (sticker keyboard → `CometChatStickerKeyboard`; sent as `CometChatStickerBubble`) |\n| **Polls** | Dashboard → Extensions | Composer action sheet (`CometChatCreatePoll`; rendered as `CometChatPollBubble`) |\n| **Collaborative Whiteboard** | Dashboard → Extensions | Composer action sheet; opens as a collaborative bubble in the list |\n| **Collaborative Document** | Dashboard → Extensions | Composer action sheet; opens as a collaborative bubble in the list |\n| **Message Translation** | Dashboard → Extensions | Message long-press\u002Faction sheet in `CometChatMessageList` |\n| **Link Preview** | Dashboard → Extensions | Automatically inside message bubbles for URLs |\n| **Thumbnail Generation** | Dashboard → Extensions | Automatically on image\u002Fvideo bubbles (smaller previews) |\n| **Profanity Filter** | Dashboard → Extensions | Message bubbles (censored text) — ⚠️ **LEGACY** |\n\n**Message Shortcuts** is the one extension that is NOT zero-code: enable it in the Dashboard, then implement a shortcut formatter extending `CometChatTextFormatter` — build it from the docs recipe `\u002Fui-kit\u002Fandroid\u002Fshortcut-formatter-guide` (→ `cometchat-android-v6-{kotlin,compose}-customization` for the formatter mechanism).\n\n## Enablement — the whole flow\n1. **Ask which are already enabled** — per-app Dashboard state is not readable from code; never assume OFF (and never re-suggest one that's already on).\n2. **Enable in the CometChat Dashboard** → your app → Extensions → the extension. That's the actual \"installation\".\n3. **Re-login \u002F restart the app** — the kit picks extensions up at init+login; a session started before you toggled won't show it.\n4. **Verify in the right place** (table above). No code change, no rebuild, for the 7 auto-rendered ones.\n5. Only if the ask is *styling* the extension's UI → `cometchat-android-v6-{kotlin,compose}-customization`.\n\n## Deprecated \u002F superseded — don't offer these\n**Profanity Filter is LEGACY**: the extensions page still lists it, but its guide points at the legacy-docs archive. For new work steer to the **Moderation** product (`features.android-v6.json` → `moderation`, dashboard-configured rules + AI moderation) — say this plainly rather than wiring the legacy path. Anything not in the table above and not in `features.android-v6.json` does not exist for this kit: don't invent extensions (no \"reactions extension\" — reactions are core in v6; same for mentions).\n\n## Common pitfalls\nWriting client code for an auto-rendered extension (never needed) · hand-rolling polls\u002Fstickers UI that the kit already renders · enabling in the Dashboard but not re-logging in · expecting an extension before `init`+`login` succeed · offering Profanity Filter for new work · treating reactions\u002Fmentions as extensions (they're core in v6) · assuming an extension enabled on one app applies to another (per-app setting).\n\n## Verify it works\nNo catalog\u002Fcompile change is expected for the auto-rendered ones (nothing was emitted); for Message Shortcuts, compile (`.\u002Fgradlew :app:assembleDebug   # in YOUR app (npm run verify:fences:android-v6 is a pack-repo gate)`) and confirm the formatter is registered. On device, after enabling + re-login: the extension's entry point is present where the table says (composer action sheet \u002F sticker keyboard \u002F message action sheet \u002F inside the bubble) and a sent artifact renders as its bubble type. Nothing showing ⇒ check init\u002Flogin succeeded, then the Dashboard toggle for THIS app, then re-login — in that order.\n","> **Ground truth:** `features.android-v6.json` (the extension entries + their `enablement`) + catalog `android-v6.json` + the live page `\u002Fui-kit\u002Fandroid\u002Fextensions` (the manual — 8 built-ins) and each extension's `\u002Ffundamentals\u002F*` page. Verify symbols against the catalog; fetch details from docs; never invent an extension.\n\n## Companion skills (read first)\n- `cometchat-android-v6-core` — install, credentials, `initFromSettings → login → render`, the fetch map. Assumed here, never repeated.\n- `cometchat-android-v6-features` — the general feature-lookup skill; come here for the Dashboard-extension slice specifically.\n\n## Use this skill when\n\"enable stickers\u002Fpolls\u002Fwhiteboard\u002Fdocument\u002Ftranslation\u002Flink preview\u002Fthumbnails\", \"add message shortcuts\", \"which extensions work with the Android UI Kit?\", \"I enabled it in the Dashboard but nothing shows up\".\n\n## Prerequisites & install\nSame kit + `initFromSettings → login` as `core`. **No Gradle dependency and (for the 7 auto-rendered ones) no client code** — the UI Kit detects an enabled extension after init+login and renders it in the right component.\n\n## The 8 built-ins — enable in Dashboard, appears here\n| Extension | Enable | Where it appears once enabled |\n|---|---|---|\n| **Stickers** | Dashboard → Extensions | Composer (sticker keyboard → `CometChatStickerKeyboard`; sent as `CometChatStickerBubble`) |\n| **Polls** | Dashboard → Extensions | Composer action sheet (`CometChatCreatePoll`; rendered as `CometChatPollBubble`) |\n| **Collaborative Whiteboard** | Dashboard → Extensions | Composer action sheet; opens as a collaborative bubble in the list |\n| **Collaborative Document** | Dashboard → Extensions | Composer action sheet; opens as a collaborative bubble in the list |\n| **Message Translation** | Dashboard → Extensions | Message long-press\u002Faction sheet in `CometChatMessageList` |\n| **Link Preview** | Dashboard → Extensions | Automatically inside message bubbles for URLs |\n| **Thumbnail Generation** | Dashboard → Extensions | Automatically on image\u002Fvideo bubbles (smaller previews) |\n| **Profanity Filter** | Dashboard → Extensions | Message bubbles (censored text) — ⚠️ **LEGACY** |\n\n**Message Shortcuts** is the one extension that is NOT zero-code: enable it in the Dashboard, then implement a shortcut formatter extending `CometChatTextFormatter` — build it from the docs recipe `\u002Fui-kit\u002Fandroid\u002Fshortcut-formatter-guide` (→ `cometchat-android-v6-{kotlin,compose}-customization` for the formatter mechanism).\n\n## Enablement — the whole flow\n1. **Ask which are already enabled** — per-app Dashboard state is not readable from code; never assume OFF (and never re-suggest one that's already on).\n2. **Enable in the CometChat Dashboard** → your app → Extensions → the extension. That's the actual \"installation\".\n3. **Re-login \u002F restart the app** — the kit picks extensions up at init+login; a session started before you toggled won't show it.\n4. **Verify in the right place** (table above). No code change, no rebuild, for the 7 auto-rendered ones.\n5. Only if the ask is *styling* the extension's UI → `cometchat-android-v6-{kotlin,compose}-customization`.\n\n## Deprecated \u002F superseded — don't offer these\n**Profanity Filter is LEGACY**: the extensions page still lists it, but its guide points at the legacy-docs archive. For new work steer to the **Moderation** product (`features.android-v6.json` → `moderation`, dashboard-configured rules + AI moderation) — say this plainly rather than wiring the legacy path. Anything not in the table above and not in `features.android-v6.json` does not exist for this kit: don't invent extensions (no \"reactions extension\" — reactions are core in v6; same for mentions).\n\n## Common pitfalls\nWriting client code for an auto-rendered extension (never needed) · hand-rolling polls\u002Fstickers UI that the kit already renders · enabling in the Dashboard but not re-logging in · expecting an extension before `init`+`login` succeed · offering Profanity Filter for new work · treating reactions\u002Fmentions as extensions (they're core in v6) · assuming an extension enabled on one app applies to another (per-app setting).\n\n## Verify it works\nNo catalog\u002Fcompile change is expected for the auto-rendered ones (nothing was emitted); for Message Shortcuts, compile (`.\u002Fgradlew :app:assembleDebug   # in YOUR app (npm run verify:fences:android-v6 is a pack-repo gate)`) and confirm the formatter is registered. On device, after enabling + re-login: the extension's entry point is present where the table says (composer action sheet \u002F sticker keyboard \u002F message action sheet \u002F inside the bubble) and a sent artifact renders as its bubble type. Nothing showing ⇒ check init\u002Flogin succeeded, then the Dashboard toggle for THIS app, then re-login — in that order.\n",{"name":5,"license":15,"metadata":55,"description":7,"compatibility":59},{"tags":56,"author":57,"version":58},"cometchat android extensions v6 stickers polls translation dashboard","CometChat","1.0.0","Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-kotlin-android ^6 OR com.cometchat:chatuikit-compose-android ^6 (6.0.x, verified 6.0.5); com.cometchat:chat-sdk-android ^5","main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-extensions",474,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-11 14:40:14",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-extensions",{"tool":76,"command":77},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-extensions",{"tool":79,"command":80},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-extensions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-extensions\u002FSKILL.md",true,[],[85,94,101,108,135,160],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":93},"01M746ZWACVKMZ1BJXJZHYJSSX","migrate-to-e2e","Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for \u002Fmigrate-to-e2e, \"migrate our tests to e2e\", \"port these Maestro flows\", \"move our TesterArmy tests\", or when a project has an e2e config and an older suite still running.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fmigrate-to-e2e\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":93},"01M746ZPTAX1Q0FBKAB1CYND7E","e2e","Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fe2e\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":93},"01M746ZJN784HVHMDP9MQGCSGG","create-verification-skill","Generate a project-local verify-\u003Capp> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for \u002Fcreate-verification-skill, \"make a verification skill for this repo\", or when a project has no scripted way to prove UI behavior.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fcreate-verification-skill\u002FSKILL.md",[],[],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":50},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134],"search","deja search","never","error","ready","memory","re","decide","fix","design","debugging","when","you","done","reviewer","io","change","cli","merge","past",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":50},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[142,143,144,130,145,146,147,148,149,150,151,152,153,154,120,155,156,157,158,159],"deja reflect","reflect","review","with","record","github","next","https","node","Rules","decisions","brew","remember","project rules","project","session","end","reflection",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":175,"publishedAt":50},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[166,169,172],{"categoryNo":167,"categoryName":168,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":170,"categoryName":171,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":173,"categoryName":174,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[162,176,177,178,179,180,181,156,182,121,183,184,185,186,126,187,188,189,190,191],"URL","Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","image","mcp server","schedule","api","publish"]