[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FJ3WZP3ZPA3CZ36YTYSNEP":3,"skill-same:01M6FJ3WZP3ZPA3CZ36YTYSNEP":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6FJ3WZP3ZPA3CZ36YTYSNEP","ln-004-agent-sync",null,"Sync skills (symlinks) and MCP settings from Claude to Gemini CLI and Codex CLI","boisenoise\u002Fskills-collections","boisenoise","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F193180?v=4","01M6CDBDQK6BDN55ZMA6B6PKBM","01M6CDBDVSJ3JPTBYN26FZ7TZK",12,"MIT","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-004-agent-sync\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33],"sync","ln 004 agent sync","ln","agent sync","MCP","cli","gemini","codex","gemini cli","codex cli","settings","2026-11-10 10:12:30",false,"---\nname: ln-004-agent-sync\ndescription: \"Sync skills (symlinks) and MCP settings from Claude to Gemini CLI and Codex CLI\"\nlicense: MIT\n---\n\n> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.\n\n# Agent Sync (Standalone Utility)\n\n**Type:** Standalone Utility\n**Category:** 0XX Shared\n\nSynchronizes skills and MCP server configurations from Claude Code (source of truth) to Gemini CLI and Codex CLI. Creates symlinks for skills, copies\u002Fconverts MCP settings.\n\n---\n\n## When to Use This Skill\n\n- After adding\u002Fremoving MCP servers in Claude Code settings\n- After installing new plugins in Claude Code\n- First-time setup of Gemini CLI or Codex CLI alongside Claude Code\n- Periodic sync to keep all agents aligned\n\n---\n\n## Input Parameters\n\n| Parameter | Required | Default | Description |\n|-----------|----------|---------|-------------|\n| targets | No | both | `gemini`, `codex`, or `both` |\n| mode | No | full | `skills` (symlinks only), `mcp` (MCP only), or `full` (both) |\n| dry_run | No | false | Show planned actions without executing |\n\n---\n\n## Workflow\n\n```\nDetect OS → Discover Configs → Sync Skills → Sync MCP → Report\n```\n\n### Phase 0: OS Detection\n\n| Check | Result | Impact |\n|-------|--------|--------|\n| `uname` or platform | win32 \u002F darwin \u002F linux | Junction vs symlink |\n| Home directory | `$HOME` or `$USERPROFILE` | Config paths |\n\n**Paths by OS:**\n\n| Agent | Windows | macOS \u002F Linux |\n|-------|---------|---------------|\n| **Claude** | `%USERPROFILE%\\.claude\\settings.json` | `~\u002F.claude\u002Fsettings.json` |\n| **Gemini** | `%USERPROFILE%\\.gemini\\settings.json` | `~\u002F.gemini\u002Fsettings.json` |\n| **Codex** | `%USERPROFILE%\\.codex\\config.toml` | `~\u002F.codex\u002Fconfig.toml` |\n\n### Phase 1: Discover Current State\n\n1. **Read Claude settings:**\n   - Parse `~\u002F.claude\u002Fsettings.json` → extract `mcpServers` block\n   - If no `mcpServers` → WARN \"No MCP servers configured in Claude\", skip MCP sync\n\n2. **Read target configs (if exist):**\n   - Gemini: Parse `~\u002F.gemini\u002Fsettings.json` → extract existing `mcpServers`\n   - Codex: Parse `~\u002F.codex\u002Fconfig.toml` → extract existing `[mcp_servers.*]`\n\n3. **Detect installed plugins:**\n   - Glob `~\u002F.claude\u002Fplugins\u002F*\u002Fplugin.json` → list plugin directories\n   - Also check if skills repo itself is a plugin source\n\n4. **Check existing symlinks:**\n   - `~\u002F.gemini\u002Fskills` → exists? points where?\n   - `~\u002F.codex\u002Fskills` → exists? points where?\n\n5. **Show current state:**\n   ```\n   Current State:\n   | Agent | Skills | MCP Servers | Config Exists |\n   |-------|--------|-------------|---------------|\n   | Claude (source) | 2 plugins | 4 servers | yes |\n   | Gemini | no link | 2 servers | yes |\n   | Codex | → ~\u002F.claude\u002Fplugins | 4 servers | yes |\n   ```\n\n### Phase 2: Sync Skills (symlinks\u002Fjunctions)\n\nFOR EACH target IN (gemini, codex) WHERE target in targets:\n\n1. **Determine link path:**\n   - Gemini: `~\u002F.gemini\u002Fskills`\n   - Codex: `~\u002F.codex\u002Fskills`\n\n2. **Check if already linked correctly:**\n   - IF link exists AND points to correct source → SKIP (already synced)\n   - IF link exists AND points to wrong source → WARN, ask user before replacing\n   - IF regular directory (not link) exists → WARN \"Target is a real directory, not a link. Skip to avoid data loss.\"\n\n3. **Determine source:**\n   - IF single plugin: link directly to plugin dir\n   - IF multiple plugins: ask user which plugin to share\n\n4. **Create link:**\n\n   | OS | Command |\n   |----|---------|\n   | Windows | `cmd \u002Fc mklink \u002FJ \"{target_path}\" \"{source_path}\"` |\n   | macOS \u002F Linux | `ln -s \"{source_path}\" \"{target_path}\"` |\n\n5. **Verify:** Check link exists and resolves correctly\n\n### Phase 3: Sync MCP Settings\n\n**Source:** `~\u002F.claude\u002Fsettings.json` → `mcpServers` block\n\n#### 3a: Claude → Gemini (JSON → JSON)\n\n1. Read Claude `mcpServers` as JSON object\n2. Read Gemini `settings.json` (or create `{}` if missing)\n3. **Merge strategy:** Claude servers override Gemini servers by key name. Gemini-only servers preserved.\n4. Write updated `settings.json`\n\n**Conversion:** None needed — identical format.\n\n#### 3b: Claude → Codex (JSON → TOML)\n\n1. Read Claude `mcpServers` as JSON object\n2. Read Codex `config.toml` (or create empty if missing)\n3. **Convert each server:**\n\n   | Claude JSON field | Codex TOML field | Notes |\n   |-------------------|------------------|-------|\n   | `command` | `command` | Same |\n   | `args` | `args` | JSON array → TOML array |\n   | `env` | `[mcp_servers.{name}.env]` | Nested table |\n   | `type: \"http\"` + `url` | `url` | HTTP transport |\n   | `type: \"sse\"` + `url` | `url` | SSE transport |\n\n   **Example conversion:**\n   ```json\n   \"context7\": {\n     \"command\": \"npx\",\n     \"args\": [\"-y\", \"@upstash\u002Fcontext7-mcp\"]\n   }\n   ```\n   ```toml\n   [mcp_servers.context7]\n   command = \"npx\"\n   args = [\"-y\", \"@upstash\u002Fcontext7-mcp\"]\n   ```\n\n4. **Merge strategy:** Claude servers override. Codex-only servers preserved.\n5. Write updated `config.toml`\n\n**Unsupported conversions (preserve as-is in Codex):**\n- `bearer_token_env_var` — no Claude equivalent\n- `enabled_tools` \u002F `disabled_tools` — no Claude equivalent\n\n### Phase 4: Report\n\n```\nSync Complete:\n| Action | Target | Status |\n|--------|--------|--------|\n| Skills symlink | Gemini | Created → ~\u002F.claude\u002Fplugins\u002F... |\n| Skills symlink | Codex | Already linked |\n| MCP sync | Gemini | 4 servers synced (2 new, 2 updated) |\n| MCP sync | Codex | 4 servers synced (1 new, 3 updated) |\n```\n\n---\n\n## Critical Rules\n\n1. **Claude = source of truth.** Never write TO Claude settings. Read-only source.\n2. **Non-destructive merge.** Target-only servers\u002Fsettings preserved. Only Claude servers added\u002Fupdated.\n3. **No data loss.** If target is a real directory (not symlink) — warn and skip, never delete.\n4. **Backup before write.** Before modifying any config file, create `.bak` copy.\n5. **Dry run first.** If `dry_run=true`, show all planned actions without executing.\n6. **Ask on conflict.** If symlink points to different source — ask user, don't auto-replace.\n\n## Anti-Patterns\n\n- Writing TO Claude settings from Gemini\u002FCodex (reverse sync)\n- Deleting target-only MCP servers during sync\n- Creating symlinks inside symlinks (circular)\n- Modifying config files without backup\n\n---\n\n## Definition of Done\n\n| # | Criterion |\n|---|-----------|\n| 1 | Claude settings read successfully |\n| 2 | Skills symlinks created\u002Fverified for each target |\n| 3 | MCP settings synced with format conversion (JSON→TOML for Codex) |\n| 4 | Backup files created before any config modification |\n| 5 | Report shown with all actions and warnings |\n\n---\n\n**Version:** 1.0.0\n**Last Updated:** 2026-02-15\n","> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.\n\n# Agent Sync (Standalone Utility)\n\n**Type:** Standalone Utility\n**Category:** 0XX Shared\n\nSynchronizes skills and MCP server configurations from Claude Code (source of truth) to Gemini CLI and Codex CLI. Creates symlinks for skills, copies\u002Fconverts MCP settings.\n\n---\n\n## When to Use This Skill\n\n- After adding\u002Fremoving MCP servers in Claude Code settings\n- After installing new plugins in Claude Code\n- First-time setup of Gemini CLI or Codex CLI alongside Claude Code\n- Periodic sync to keep all agents aligned\n\n---\n\n## Input Parameters\n\n| Parameter | Required | Default | Description |\n|-----------|----------|---------|-------------|\n| targets | No | both | `gemini`, `codex`, or `both` |\n| mode | No | full | `skills` (symlinks only), `mcp` (MCP only), or `full` (both) |\n| dry_run | No | false | Show planned actions without executing |\n\n---\n\n## Workflow\n\n```\nDetect OS → Discover Configs → Sync Skills → Sync MCP → Report\n```\n\n### Phase 0: OS Detection\n\n| Check | Result | Impact |\n|-------|--------|--------|\n| `uname` or platform | win32 \u002F darwin \u002F linux | Junction vs symlink |\n| Home directory | `$HOME` or `$USERPROFILE` | Config paths |\n\n**Paths by OS:**\n\n| Agent | Windows | macOS \u002F Linux |\n|-------|---------|---------------|\n| **Claude** | `%USERPROFILE%\\.claude\\settings.json` | `~\u002F.claude\u002Fsettings.json` |\n| **Gemini** | `%USERPROFILE%\\.gemini\\settings.json` | `~\u002F.gemini\u002Fsettings.json` |\n| **Codex** | `%USERPROFILE%\\.codex\\config.toml` | `~\u002F.codex\u002Fconfig.toml` |\n\n### Phase 1: Discover Current State\n\n1. **Read Claude settings:**\n   - Parse `~\u002F.claude\u002Fsettings.json` → extract `mcpServers` block\n   - If no `mcpServers` → WARN \"No MCP servers configured in Claude\", skip MCP sync\n\n2. **Read target configs (if exist):**\n   - Gemini: Parse `~\u002F.gemini\u002Fsettings.json` → extract existing `mcpServers`\n   - Codex: Parse `~\u002F.codex\u002Fconfig.toml` → extract existing `[mcp_servers.*]`\n\n3. **Detect installed plugins:**\n   - Glob `~\u002F.claude\u002Fplugins\u002F*\u002Fplugin.json` → list plugin directories\n   - Also check if skills repo itself is a plugin source\n\n4. **Check existing symlinks:**\n   - `~\u002F.gemini\u002Fskills` → exists? points where?\n   - `~\u002F.codex\u002Fskills` → exists? points where?\n\n5. **Show current state:**\n   ```\n   Current State:\n   | Agent | Skills | MCP Servers | Config Exists |\n   |-------|--------|-------------|---------------|\n   | Claude (source) | 2 plugins | 4 servers | yes |\n   | Gemini | no link | 2 servers | yes |\n   | Codex | → ~\u002F.claude\u002Fplugins | 4 servers | yes |\n   ```\n\n### Phase 2: Sync Skills (symlinks\u002Fjunctions)\n\nFOR EACH target IN (gemini, codex) WHERE target in targets:\n\n1. **Determine link path:**\n   - Gemini: `~\u002F.gemini\u002Fskills`\n   - Codex: `~\u002F.codex\u002Fskills`\n\n2. **Check if already linked correctly:**\n   - IF link exists AND points to correct source → SKIP (already synced)\n   - IF link exists AND points to wrong source → WARN, ask user before replacing\n   - IF regular directory (not link) exists → WARN \"Target is a real directory, not a link. Skip to avoid data loss.\"\n\n3. **Determine source:**\n   - IF single plugin: link directly to plugin dir\n   - IF multiple plugins: ask user which plugin to share\n\n4. **Create link:**\n\n   | OS | Command |\n   |----|---------|\n   | Windows | `cmd \u002Fc mklink \u002FJ \"{target_path}\" \"{source_path}\"` |\n   | macOS \u002F Linux | `ln -s \"{source_path}\" \"{target_path}\"` |\n\n5. **Verify:** Check link exists and resolves correctly\n\n### Phase 3: Sync MCP Settings\n\n**Source:** `~\u002F.claude\u002Fsettings.json` → `mcpServers` block\n\n#### 3a: Claude → Gemini (JSON → JSON)\n\n1. Read Claude `mcpServers` as JSON object\n2. Read Gemini `settings.json` (or create `{}` if missing)\n3. **Merge strategy:** Claude servers override Gemini servers by key name. Gemini-only servers preserved.\n4. Write updated `settings.json`\n\n**Conversion:** None needed — identical format.\n\n#### 3b: Claude → Codex (JSON → TOML)\n\n1. Read Claude `mcpServers` as JSON object\n2. Read Codex `config.toml` (or create empty if missing)\n3. **Convert each server:**\n\n   | Claude JSON field | Codex TOML field | Notes |\n   |-------------------|------------------|-------|\n   | `command` | `command` | Same |\n   | `args` | `args` | JSON array → TOML array |\n   | `env` | `[mcp_servers.{name}.env]` | Nested table |\n   | `type: \"http\"` + `url` | `url` | HTTP transport |\n   | `type: \"sse\"` + `url` | `url` | SSE transport |\n\n   **Example conversion:**\n   ```json\n   \"context7\": {\n     \"command\": \"npx\",\n     \"args\": [\"-y\", \"@upstash\u002Fcontext7-mcp\"]\n   }\n   ```\n   ```toml\n   [mcp_servers.context7]\n   command = \"npx\"\n   args = [\"-y\", \"@upstash\u002Fcontext7-mcp\"]\n   ```\n\n4. **Merge strategy:** Claude servers override. Codex-only servers preserved.\n5. Write updated `config.toml`\n\n**Unsupported conversions (preserve as-is in Codex):**\n- `bearer_token_env_var` — no Claude equivalent\n- `enabled_tools` \u002F `disabled_tools` — no Claude equivalent\n\n### Phase 4: Report\n\n```\nSync Complete:\n| Action | Target | Status |\n|--------|--------|--------|\n| Skills symlink | Gemini | Created → ~\u002F.claude\u002Fplugins\u002F... |\n| Skills symlink | Codex | Already linked |\n| MCP sync | Gemini | 4 servers synced (2 new, 2 updated) |\n| MCP sync | Codex | 4 servers synced (1 new, 3 updated) |\n```\n\n---\n\n## Critical Rules\n\n1. **Claude = source of truth.** Never write TO Claude settings. Read-only source.\n2. **Non-destructive merge.** Target-only servers\u002Fsettings preserved. Only Claude servers added\u002Fupdated.\n3. **No data loss.** If target is a real directory (not symlink) — warn and skip, never delete.\n4. **Backup before write.** Before modifying any config file, create `.bak` copy.\n5. **Dry run first.** If `dry_run=true`, show all planned actions without executing.\n6. **Ask on conflict.** If symlink points to different source — ask user, don't auto-replace.\n\n## Anti-Patterns\n\n- Writing TO Claude settings from Gemini\u002FCodex (reverse sync)\n- Deleting target-only MCP servers during sync\n- Creating symlinks inside symlinks (circular)\n- Modifying config files without backup\n\n---\n\n## Definition of Done\n\n| # | Criterion |\n|---|-----------|\n| 1 | Claude settings read successfully |\n| 2 | Skills symlinks created\u002Fverified for each target |\n| 3 | MCP settings synced with format conversion (JSON→TOML for Codex) |\n| 4 | Backup files created before any config modification |\n| 5 | Report shown with all actions and warnings |\n\n---\n\n**Version:** 1.0.0\n**Last Updated:** 2026-02-15\n",{"name":5,"license":14,"description":7},"main","7bf2279c8a65758319526a721d5c4b75683aec9c","skills\u002Flevn-ln-004-agent-sync",3,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections","https:\u002F\u002Fgithub.com\u002Fboisenoise","2026-11-10 14:20:15",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add boisenoise\u002Fskills-collections --skill ln-004-agent-sync",{"tool":52,"command":53},"bunx","bunx skills add boisenoise\u002Fskills-collections --skill ln-004-agent-sync",{"tool":55,"command":56},"pnpm","pnpm dlx skills add boisenoise\u002Fskills-collections --skill ln-004-agent-sync","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-004-agent-sync\u002FSKILL.md",true,[],[61,91,113,139,158,181],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":66,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":34},"01M6WNH92BHVFXHGPDZCPJ0AG0","web-access","Use Treg for public web or platform data only when existing search, browser and connected tools cannot cover the task, with explicit cost and data boundaries.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FSKILL.md",[],[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],"web","access","web access","official","development","browser","search","data","Tools","read","fetch","only","youtube","free tools","platform","critical","free","cover","normal","when","2026",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":95,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":34},"01M6WNF9XAYAB2CZDDJBAKNM93","treg","Use the Treg CLI or MCP catalog to discover, price and call authorized external tools with team-scoped credentials and a user-approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FSKILL.md",[98],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[93,27,28,100,73,74,101,78,102,103,104,105,106,107,108,85,109,110,111,112,90],"github","license","Budget","credentials","team","catalog","use","call","discover","external tools","with","scoped","blob",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":117,"sourceHtmlUrl":118,"categories":119,"keywords":125,"publishedAt":34},"01M6WN93MEAZ4E41DYAHJRPHQT","recruit","Turn a job description into an evidence-linked candidate shortlist through Treg, with job-related ranking and optional authorized business contact enrichment.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[115,100,73,101,126,127,128,129,130,131,85,132,133,134,110,135,136,137,138,112,93,90],"https","email","enrichment","business","evidence","phone","ranking","post","job description","for","person","candidate","reason",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":143,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":34},"01M6WN8R5RXSMHM9B4D9FAFX42","rea-growth","Analyze a company’s public growth and content through Treg, distinguish observations from hypotheses, and produce an evidence-linked playbook within an approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FSKILL.md",[],[147,148,149,100,73,101,150,151,126,152,102,153,154,155,130,85,156,157,112,93,90],"growth","rea","rea growth","produce","content","playbook","marketing","analyze","public","observations","company",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":162,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":34},"01M6WN2EVE3RQRGWAKBT4S7YT2","make-ugc","Create original AI UGC-style product videos through Treg: research hooks, approve a licensed presenter and voice, generate clips, add captions and report costs.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FSKILL.md",[],[166,167,100,168,73,169,101,170,171,172,173,174,85,175,176,177,178,179,180,112],"make","make ugc","research","create","Video","Captions","ads","short","hooks","head","style","niche","trending","talking-head","approve",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":65,"licenseFileUrl":185,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":34},"01M6WN10ARAA63Y8K1YNGXJ2RM","lead-signals","Find and qualify public buying signals through Treg, rank fitting business accounts and optionally enrich authorized business contact information.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FSKILL.md",[],[189,190,191,100,73,101,192,193,129,194,195,85,196,197,198,199,200,201,202,112],"signals","lead","lead signals","how","find","ready","as","how to","qualify","people","information","enrich","changes","funding"]