[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MFKB1GDJFDNJ0S2MD910KW":3,"skill-same:01M6MFKB1GDJFDNJ0S2MD910KW":85},{"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":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":62,"ownerDescription":63,"updatedAt":64,"install":65,"resources":78},"01M6MFKB1GDJFDNJ0S2MD910KW","cometchat-react-v7-migration",null,"Upgrade a React app from CometChat UI Kit v6 → v7 (`@cometchat\u002Fchat-uikit-react` ^6 → ^7). Reads the repo's CometChat usage, applies the breaking-change map (deps, symbol renames, RxJS events → `useCometChatEvents`, DataSource → plugins, templates → plugins, theme prop, calling), fetches the prop-by-prop guide, and verifies the build. Triggers: 'upgrade my v6 uikit to v7', 'migrate cometchat react v6 to v7', 'upgrade @cometchat\u002Fchat-uikit-react to v7', 'cometchat v6 to v7', 'bump cometchat uikit'.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1566,"MIT","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-react-v7-migration\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"cometchat","cometchat react v7 migration","migration","react","map","verified","datasource","my","kit","usage","theme","events","app","upgrade","bump","guide","install","migrate","deps","ui","change","2026-11-10 10:12:30",false,"---\nname: cometchat-react-v7-migration\ndescription: \"Upgrade a React app from CometChat UI Kit v6 → v7 (`@cometchat\u002Fchat-uikit-react` ^6 → ^7). Reads the repo's CometChat usage, applies the breaking-change map (deps, symbol renames, RxJS events → `useCometChatEvents`, DataSource → plugins, templates → plugins, theme prop, calling), fetches the prop-by-prop guide, and verifies the build. Triggers: 'upgrade my v6 uikit to v7', 'migrate cometchat react v6 to v7', 'upgrade @cometchat\u002Fchat-uikit-react to v7', 'cometchat v6 to v7', 'bump cometchat uikit'.\"\nlicense: \"MIT\"\ncompatibility: \"React >=18 \u003C21; FROM @cometchat\u002Fchat-uikit-react ^6 → ^7 (7.1.x, verified 7.1.0); @cometchat\u002Fchat-sdk-javascript ^4.1.13 (peer); dompurify ^3.3.1 required (install explicitly); rxjs removed\"\nmetadata:\n  author: \"CometChat\"\n  version: \"1.0.0\"\n  tags: \"cometchat react migration upgrade v6 v7 uikit\"\n---\n\n> **Ground truth:** migrates a React app **FROM `@cometchat\u002Fchat-uikit-react@6` TO `@7`**. v7 target symbols are catalog-verified vs installed 7.1.0; the v6→v7 breaking-change map is BAKED in `references\u002Fmigration-guide.md` (distilled from the official migration docs + a real v6.5.4→v7.1.0 export diff). The exhaustive prop-by-prop table is FETCHED from the docs migration `.md` twins. **APPEND\u002Ftransform the user's code — never wipe it; work on a branch and confirm before bulk edits** (`RULES.md`).\n\n## Companion skills (read first)\n- `cometchat-react-v7-core` — the v7 init\u002Flogin\u002Frender + `CometChatProvider` the migrated app lands on. This skill ASSUMES it.\n- `cometchat-react-v7-components` — the v7 component catalog (the target names).\n\n## Use this skill when\n\"upgrade my v6 UI Kit to v7\", \"migrate CometChat React v6→v7\", \"bump `@cometchat\u002Fchat-uikit-react` to v7\". Precondition: the project currently has `@cometchat\u002Fchat-uikit-react@6`.\n\n## Migration workflow (BAKED)\n1. **Detect the starting point.** Confirm `package.json` has `@cometchat\u002Fchat-uikit-react@6` (already `@7` → STOP, nothing to migrate). Note the bundler (Vite\u002FNext\u002FCRA\u002FReact-Router\u002FAstro → env prefix, per `cometchat-react-v7-patterns`) and whether the app uses calls \u002F `rxjs` events \u002F `DataSource` \u002F message templates. **Work on a branch; transform in place, never delete the user's code.**\n2. **Update dependencies.** `npm install @cometchat\u002Fchat-uikit-react@7 @cometchat\u002Fchat-sdk-javascript@^4.1.13 dompurify@^3.3.1` then `npm uninstall rxjs` (v7 drops rxjs; **`dompurify` is required** — the kit imports it at runtime; install it explicitly per the official docs, even though it's in the kit's `dependencies`). If the app uses calling, bump the Calls SDK to the v7 major: `npm install @cometchat\u002Fcalls-sdk-javascript@5` (v7 pins `^5.x` — verified; it is NOT the same major as the v6-era build). Enabling calling also moves: on the mandated `initFromSettings` path use `uiKit:{callsSDK:{}}` (not the classic `setCallingEnabled(true)`).\n3. **Scan the repo for v6 usage.** Grep for the removed\u002Frenamed symbols + patterns from `references\u002Fmigration-guide.md`: `CometChatDocumentBubble`, `CometChatCompactMessageComposer`, `CometChatUrlsFormatter`, `CometChatTextHighlightFormatter`, any `*Events` (`CometChatMessageEvents`\u002F`CometChatGroupEvents`\u002F`CometChatCallEvents`\u002F`CometChatUserEvents`\u002F`CometChatConversationEvents`\u002F`CometChatUIEvents`), `DataSource`\u002F`DataSourceDecorator`\u002F`ChatConfigurator`, `CometChatMessageTemplate` \u002F `templates` prop, `textFormatters` prop **on `CometChatMessageList`\u002F`CometChatConversations`** (gone from the lists in v7 — `textFormatters` itself is NOT removed; see pitfalls), `hideError`\u002F`disableLoadingState` props, `data-theme` attribute, **localization** (`getLocalizedString(...)`, `CometChatLocalize`, unprefixed i18n keys like `group_info` that v7 moved under `sample_` — §7), `CometChatUIKitLoginListener`, and the removed standalone components (`CometChatEmojiKeyboard`\u002F`CometChatMediaRecorder`\u002F`CometChatToast`\u002F`CometChatListItem`\u002F`CometChatNotificationBadge`). Produce the concrete change list.\n4. **Apply the breaking-change map** (`references\u002Fmigration-guide.md`): symbol renames, RxJS `*Events` → the `useCometChatEvents` hook, `DataSource`\u002F`ChatConfigurator` → `CometChatMessagePlugin` + the `plugins` prop, `templates` prop → plugins (`textFormatters` is NOT removed — relocate it, see pitfalls), `data-theme` → the `theme` prop, calling → `uiKit:{callsSDK:{}}` on `initFromSettings` (step 2), **localization → the v7 method + map v6 keys to the bundled `sample_*` keys (or register via the INSTANCE method `CometChatLocalize.getSharedInstance()?.addTranslation(...)` — NOT a static) — see `migration-guide.md` §7; look up the EXACT key in the uikit source (`resources\u002F\u003Clang>\u002Ftranslation.json`) \u002F docs \u002F GitHub, never guess**. For any component's exact prop change NOT in the baked map, FETCH the prop-by-prop table via `cometchat-react-v7-core\u002Freferences\u002Fdocs-map.md` → `migration-property-changes`.\n5. **Wrap the chat tree in `CometChatProvider`** if it isn't already (v7 requires it above the components; init\u002Flogin stay imperative and unchanged).\n6. **Verify.** Build\u002Ftypecheck passes; NO v6 symbols remain (grep the removed names); the app renders inside `CometChatProvider`; migrated events\u002Fplugins\u002Fcalling work. Reuse `cometchat-react-v7-core` \"Verify it works\".\n\n## Common pitfalls (BAKED)\n- **Leftover `rxjs` event subscriptions** — v6 `*Events.\u003Cx>.subscribe()` do NOT fire in v7; convert every one to `useCometChatEvents((event) => …)` (SDK + UI events share one bus). Publish via `usePublishEvent()`.\n- **Forgetting `CometChatProvider`** — v7 components read it; symptom = context\u002F\"not initialized\" errors even though init ran.\n- **`CometChatMessageTemplate` \u002F `templates` props** — removed from components; move custom message rendering to a `CometChatMessagePlugin` passed via `plugins`. **`textFormatters` is NOT removed** — it stays a prop in v7 (verified vs 7.1.0) on `CometChatMessageComposer`, the bubble components (Text\u002FImage\u002FVideo\u002FAudio\u002FFile\u002F…), `CometChatSearch` and `CometChatMessageInformation`, but it is GONE from `CometChatMessageList`\u002F`CometChatConversations`. Keep it as a prop on those components. The list's bubbles take formatters from the text plugin's `getTextFormatters()`, so to keep a v6 list-level formatter, override that one method — `plugins={[{ ...CometChatTextPlugin, getTextFormatters: () => [\u002F* defaults + yours *\u002F] }]}` (provider plugins precede the defaults, so it wins).\n- **Dependency drift** — missing the new `dompurify` peer dep, or leftover `rxjs`, breaks the build; do both halves of step 2.\n- **Calling silently off** — v7 needs calling turned on in the init settings (`uiKit: { callsSDK: {} }` via `CometChatUIKit.initFromSettings`; or the classic `.setCallingEnabled(true)` on `UIKitSettingsBuilder`) — not a provider prop; without it, call buttons hide and the Calls SDK never loads.\n- **Bubble routing** — the message list now defaults to the multi-attachment bubbles (`CometChatImageBubble`→`CometChatImagesBubble`, singular `CometChatFileBubble` still ships); code that imported singular bubble names for the list default may need the plural.\n- **Don't mass-remove `hideError`** — it's removed from list components but **retained on `CometChatMessageComposer`**; `textFormatters` likewise still exists on the message-bubble components. Scope the removals; don't blanket-strip.\n\n## Verify it works\nBuild\u002Ftypecheck is green; a repo-wide grep finds NO removed v6 symbols (`CometChatDocumentBubble`, `CometChatCompactMessageComposer`, `*Events`, `DataSource`, `DataSourceDecorator`, `ChatConfigurator`, `CometChatMessageTemplate`, `CometChatUIKitLoginListener`); the app renders inside `CometChatProvider`; and any migrated events \u002F plugins \u002F calling work. Full prop-by-prop reference: fetch `migration-property-changes` via `cometchat-react-v7-core\u002Freferences\u002Fdocs-map.md`.\n","> **Ground truth:** migrates a React app **FROM `@cometchat\u002Fchat-uikit-react@6` TO `@7`**. v7 target symbols are catalog-verified vs installed 7.1.0; the v6→v7 breaking-change map is BAKED in `references\u002Fmigration-guide.md` (distilled from the official migration docs + a real v6.5.4→v7.1.0 export diff). The exhaustive prop-by-prop table is FETCHED from the docs migration `.md` twins. **APPEND\u002Ftransform the user's code — never wipe it; work on a branch and confirm before bulk edits** (`RULES.md`).\n\n## Companion skills (read first)\n- `cometchat-react-v7-core` — the v7 init\u002Flogin\u002Frender + `CometChatProvider` the migrated app lands on. This skill ASSUMES it.\n- `cometchat-react-v7-components` — the v7 component catalog (the target names).\n\n## Use this skill when\n\"upgrade my v6 UI Kit to v7\", \"migrate CometChat React v6→v7\", \"bump `@cometchat\u002Fchat-uikit-react` to v7\". Precondition: the project currently has `@cometchat\u002Fchat-uikit-react@6`.\n\n## Migration workflow (BAKED)\n1. **Detect the starting point.** Confirm `package.json` has `@cometchat\u002Fchat-uikit-react@6` (already `@7` → STOP, nothing to migrate). Note the bundler (Vite\u002FNext\u002FCRA\u002FReact-Router\u002FAstro → env prefix, per `cometchat-react-v7-patterns`) and whether the app uses calls \u002F `rxjs` events \u002F `DataSource` \u002F message templates. **Work on a branch; transform in place, never delete the user's code.**\n2. **Update dependencies.** `npm install @cometchat\u002Fchat-uikit-react@7 @cometchat\u002Fchat-sdk-javascript@^4.1.13 dompurify@^3.3.1` then `npm uninstall rxjs` (v7 drops rxjs; **`dompurify` is required** — the kit imports it at runtime; install it explicitly per the official docs, even though it's in the kit's `dependencies`). If the app uses calling, bump the Calls SDK to the v7 major: `npm install @cometchat\u002Fcalls-sdk-javascript@5` (v7 pins `^5.x` — verified; it is NOT the same major as the v6-era build). Enabling calling also moves: on the mandated `initFromSettings` path use `uiKit:{callsSDK:{}}` (not the classic `setCallingEnabled(true)`).\n3. **Scan the repo for v6 usage.** Grep for the removed\u002Frenamed symbols + patterns from `references\u002Fmigration-guide.md`: `CometChatDocumentBubble`, `CometChatCompactMessageComposer`, `CometChatUrlsFormatter`, `CometChatTextHighlightFormatter`, any `*Events` (`CometChatMessageEvents`\u002F`CometChatGroupEvents`\u002F`CometChatCallEvents`\u002F`CometChatUserEvents`\u002F`CometChatConversationEvents`\u002F`CometChatUIEvents`), `DataSource`\u002F`DataSourceDecorator`\u002F`ChatConfigurator`, `CometChatMessageTemplate` \u002F `templates` prop, `textFormatters` prop **on `CometChatMessageList`\u002F`CometChatConversations`** (gone from the lists in v7 — `textFormatters` itself is NOT removed; see pitfalls), `hideError`\u002F`disableLoadingState` props, `data-theme` attribute, **localization** (`getLocalizedString(...)`, `CometChatLocalize`, unprefixed i18n keys like `group_info` that v7 moved under `sample_` — §7), `CometChatUIKitLoginListener`, and the removed standalone components (`CometChatEmojiKeyboard`\u002F`CometChatMediaRecorder`\u002F`CometChatToast`\u002F`CometChatListItem`\u002F`CometChatNotificationBadge`). Produce the concrete change list.\n4. **Apply the breaking-change map** (`references\u002Fmigration-guide.md`): symbol renames, RxJS `*Events` → the `useCometChatEvents` hook, `DataSource`\u002F`ChatConfigurator` → `CometChatMessagePlugin` + the `plugins` prop, `templates` prop → plugins (`textFormatters` is NOT removed — relocate it, see pitfalls), `data-theme` → the `theme` prop, calling → `uiKit:{callsSDK:{}}` on `initFromSettings` (step 2), **localization → the v7 method + map v6 keys to the bundled `sample_*` keys (or register via the INSTANCE method `CometChatLocalize.getSharedInstance()?.addTranslation(...)` — NOT a static) — see `migration-guide.md` §7; look up the EXACT key in the uikit source (`resources\u002F\u003Clang>\u002Ftranslation.json`) \u002F docs \u002F GitHub, never guess**. For any component's exact prop change NOT in the baked map, FETCH the prop-by-prop table via `cometchat-react-v7-core\u002Freferences\u002Fdocs-map.md` → `migration-property-changes`.\n5. **Wrap the chat tree in `CometChatProvider`** if it isn't already (v7 requires it above the components; init\u002Flogin stay imperative and unchanged).\n6. **Verify.** Build\u002Ftypecheck passes; NO v6 symbols remain (grep the removed names); the app renders inside `CometChatProvider`; migrated events\u002Fplugins\u002Fcalling work. Reuse `cometchat-react-v7-core` \"Verify it works\".\n\n## Common pitfalls (BAKED)\n- **Leftover `rxjs` event subscriptions** — v6 `*Events.\u003Cx>.subscribe()` do NOT fire in v7; convert every one to `useCometChatEvents((event) => …)` (SDK + UI events share one bus). Publish via `usePublishEvent()`.\n- **Forgetting `CometChatProvider`** — v7 components read it; symptom = context\u002F\"not initialized\" errors even though init ran.\n- **`CometChatMessageTemplate` \u002F `templates` props** — removed from components; move custom message rendering to a `CometChatMessagePlugin` passed via `plugins`. **`textFormatters` is NOT removed** — it stays a prop in v7 (verified vs 7.1.0) on `CometChatMessageComposer`, the bubble components (Text\u002FImage\u002FVideo\u002FAudio\u002FFile\u002F…), `CometChatSearch` and `CometChatMessageInformation`, but it is GONE from `CometChatMessageList`\u002F`CometChatConversations`. Keep it as a prop on those components. The list's bubbles take formatters from the text plugin's `getTextFormatters()`, so to keep a v6 list-level formatter, override that one method — `plugins={[{ ...CometChatTextPlugin, getTextFormatters: () => [\u002F* defaults + yours *\u002F] }]}` (provider plugins precede the defaults, so it wins).\n- **Dependency drift** — missing the new `dompurify` peer dep, or leftover `rxjs`, breaks the build; do both halves of step 2.\n- **Calling silently off** — v7 needs calling turned on in the init settings (`uiKit: { callsSDK: {} }` via `CometChatUIKit.initFromSettings`; or the classic `.setCallingEnabled(true)` on `UIKitSettingsBuilder`) — not a provider prop; without it, call buttons hide and the Calls SDK never loads.\n- **Bubble routing** — the message list now defaults to the multi-attachment bubbles (`CometChatImageBubble`→`CometChatImagesBubble`, singular `CometChatFileBubble` still ships); code that imported singular bubble names for the list default may need the plural.\n- **Don't mass-remove `hideError`** — it's removed from list components but **retained on `CometChatMessageComposer`**; `textFormatters` likewise still exists on the message-bubble components. Scope the removals; don't blanket-strip.\n\n## Verify it works\nBuild\u002Ftypecheck is green; a repo-wide grep finds NO removed v6 symbols (`CometChatDocumentBubble`, `CometChatCompactMessageComposer`, `*Events`, `DataSource`, `DataSourceDecorator`, `ChatConfigurator`, `CometChatMessageTemplate`, `CometChatUIKitLoginListener`); the app renders inside `CometChatProvider`; and any migrated events \u002F plugins \u002F calling work. Full prop-by-prop reference: fetch `migration-property-changes` via `cometchat-react-v7-core\u002Freferences\u002Fdocs-map.md`.\n",{"name":5,"license":15,"metadata":50,"description":7,"compatibility":54},{"tags":51,"author":52,"version":53},"cometchat react migration upgrade v6 v7 uikit","CometChat","1.0.0","React >=18 \u003C21; FROM @cometchat\u002Fchat-uikit-react ^6 → ^7 (7.1.x, verified 7.1.0); @cometchat\u002Fchat-sdk-javascript ^4.1.13 (peer); dompurify ^3.3.1 required (install explicitly); rxjs removed","main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-react-v7-migration",483,"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-13 02:16:32",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-react-v7-migration",{"tool":71,"command":72},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-react-v7-migration",{"tool":74,"command":75},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-react-v7-migration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-react-v7-migration\u002FSKILL.md",true,[79],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fmigration-guide.md","REFERENCE","参考文档",13343,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-react-v7-migration\u002Freferences\u002Fmigration-guide.md",[86,95,102,109,135,160],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":90,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":94},"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":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":90,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":94},"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":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":90,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":94},"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":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":90,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":45},"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",[],[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,44,132,133,134],"search","deja search","never","error","ready","memory","re","decide","fix","design","debugging","when","you","done","reviewer","io","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":90,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":45},"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,131,145,146,147,148,149,150,151,152,153,154,121,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":90,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":175,"publishedAt":45},"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,122,183,184,185,186,127,187,188,189,190,191],"URL","Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","image","mcp server","schedule","api","publish"]