[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DBM7W2YA6T681HZWX8808X":3,"skill-same:01M6DBM7W2YA6T681HZWX8808X":87},{"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":54,"linkOnly":55,"markdownContent":56,"markdownBody":57,"frontMatter":58,"refName":64,"commitSha":65,"skillDirectory":30,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":68,"ownerHtmlUrl":69,"ownerBlogUrl":70,"ownerDescription":71,"updatedAt":72,"install":73,"resources":86},"01M6DBM7W2YA6T681HZWX8808X","policy-risk-memo-architect-codex",null,"Codex-ready strategic-risk analysis skill for AI agents producing decision-ready memos on geopolitics, sanctions, trade, regulation, and strategic risk with explicit evidence boundaries, uncertainty, scenarios, actor incentives, trade-offs, and watch-next indicators. Use for a country risk brief, policy memo, sanctions or export-control exposure assessment, trade or regulatory implications memo, geopolitical scenario brief, strategic implications note for leadership, stakeholder and incentives analysis, a red-team challenge to an existing policy or risk view, or a decision briefing pack for founders, operators, investors, NGOs, compliance teams, policy teams, or leadership. Do not use for a simple news recap, encyclopedia-style overview, academic literature review, legal advice, intelligence-style certainty, decorative analysis, or unsupported quantitative forecasting.","vassiliylakhonin\u002Fglobal-think-tank-analyst","vassiliylakhonin","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260414237?v=4","01M6DBKD7AP8ZEAA2ZMYP2XMJ2","Vassiliy Lakhonin","01M6DBKDBKWNP9EM6X52DPXHXK",8,"MIT","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002Fcodex\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"policy","codex","risk","architect","policy risk memo architect codex","memo","trade-offs","incentives","investors","literature","strategic risk","scenario","watch","operators","news","do","legal","ready","use","view","challenge","decision","team","brief","assessment","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: validate-component\ndescription: Validate a single AIWG component (skill, agent, or command) for completeness and correctness\nplatforms: [all]\n\n---\n\n# Validate Component\n\nYou check a single AIWG component — a skill, agent, or CLI command — for completeness and correctness, then produce a structured pass\u002Ffail report with specific gaps listed.\n\n## Triggers\n\n- \"validate this skill\" → check the skill in the current directory or named path\n- \"is this component complete\" → run completeness check\n- \"check this agent\" → validate agent frontmatter and manifest registration\n- \"validate component at \u003Cpath>\" → validate the named path\n- \"is this command wired up correctly\" → check CLI command completeness\n- \"pre-PR check on this skill\" → run validate-component\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Validate skill | \"validate this skill\" | Run skill completeness checks |\n| Validate agent | \"check this agent definition\" | Run agent completeness checks |\n| Validate command | \"is this command wired up\" | Run command completeness checks |\n| Path-specific | \"validate component at agentic\u002Fcode\u002Faddons\u002Fmy-addon\u002Fskills\u002Fmy-skill\" | Validate at given path |\n| Pre-PR | \"pre-PR check on this component\" | Run all applicable checks |\n\n## Process\n\n1. **Identify component type and path**:\n   - If no path is given, check the current working directory or the most recently edited file\n   - Detect type from directory structure:\n     - Path contains `skills\u002F\u003Cname>\u002FSKILL.md` → skill\n     - Path contains `agents\u002F\u003Cname>.md` or `agents\u002F\u003Cname>\u002F` → agent\n     - Component name appears in `src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts` → command\n\n2. **Run type-appropriate checks**:\n\n   **For a Skill**:\n   - Read the `SKILL.md` file\n   - Check: `description:` field present in YAML frontmatter\n   - Check: `# Title` section present\n   - Check: `## Behavior` or `## Process` section present\n   - Check: At least one `## Examples` entry\n   - Find the parent addon's `manifest.json` (walk up directory tree)\n   - Check: Skill name listed in `manifest.json` `skills` array\n   - Check: File lives in `agentic\u002Fcode\u002F` (not in a provider deployment directory)\n   - If SKILL.md contains `executedViaSkillRunner: true` reference: check for circular CLI call pattern\n   - **Full link classification check** (see Link Classification below)\n\n   **For an Agent**:\n   - Read the agent `.md` file\n   - Check: YAML frontmatter block present\n   - Check: `name:` field in frontmatter\n   - Check: `description:` field in frontmatter\n   - Check: `model:` field in frontmatter\n   - Check: `tools:` field in frontmatter\n   - Find parent addon's `manifest.json`\n   - Check: Agent listed in `manifest.json` `agents` array\n   - Check: File lives in `agentic\u002Fcode\u002F`\n   - **Full link classification check** (see Link Classification below)\n\n   **Link Classification** (applies to all component types):\n\n   Extract every `@\u003Cpath>` reference from the file and classify:\n\n   | Pattern | Result | Message |\n   |---------|--------|---------|\n   | `@$AIWG_ROOT\u002F\u003Cpath>` | PASS | AIWG core ref (install-relative) |\n   | `@$TOKEN\u002F\u003Cpath>` — TOKEN set in env | PASS | Registered corpus token |\n   | `@$TOKEN\u002F\u003Cpath>` — TOKEN NOT in env | WARN | `env var TOKEN not set; add to .env or export` |\n   | `@.aiwg\u002F\u003Cpath>` — path in Tier 1\u002F2 allowlist | PASS | Normalized project memory |\n   | `@.aiwg\u002F\u003Cpath>` — not in any `memory.creates` | FAIL | `non-normalized .aiwg\u002F path — repo-local only` |\n   | `@.claude\u002F\u003Cpath>` | FAIL | `deployment target — forbidden in distributable source` |\n   | `@agentic\u002Fcode\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fagentic\u002Fcode\u002F` |\n   | `@src\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fsrc\u002F` |\n   | `@docs\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fdocs\u002F` |\n   | `@tools\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Ftools\u002F` |\n   | Relative path within component | PASS | Local ref |\n\n   Build the Tier 2 allowlist by reading all `manifest.json` files in `agentic\u002Fcode\u002F` and collecting `memory.creates[*].path` values. Combine with Tier 1 (`.aiwg\u002FAIWG.md`, `.aiwg\u002Fframeworks\u002F`).\n\n   **For a CLI Command**:\n   - Read `src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts`\n   - Check: Command entry exists in definitions\n   - Check: Command has either `executedViaSkillRunner: true` OR a handler entry\n   - If `executedViaSkillRunner: true`: find the associated SKILL.md and verify it does not contain `aiwg \u003Ccommand-name>` in any bash block\n   - If handler expected: check `src\u002Fcli\u002Fhandlers\u002F` for the handler file and registration in `allHandlers`\n\n3. **Compile report**:\n\n   Format results as a structured report:\n\n   ```\n   Component Validation: \u003Ccomponent-name> (\u003Ctype>)\n   Path: \u003Cabsolute-or-relative-path>\n\n   Checks:\n     PASS  description frontmatter present\n     PASS  title section present\n     PASS  behavior section present\n     FAIL  no examples section found\n     PASS  listed in manifest.json\n     FAIL  not in agentic\u002Fcode\u002F (found in .claude\u002Fskills\u002F — placement violation)\n     WARN  @.aiwg\u002Fplanning\u002Fmy-design.md is not a normalized path (repo-local only)\n\n   Result: FAIL — 2 issues found\n\n   Required actions:\n     1. Add ## Examples section to SKILL.md\n     2. Move SKILL.md to agentic\u002Fcode\u002Faddons\u002F\u003Caddon>\u002Fskills\u002F\u003Cname>\u002FSKILL.md\n        then re-deploy with: aiwg use \u003Caddon>\n   ```\n\n4. **Surface the report** to the user with the result line prominent.\n\n## Examples\n\n### Example 1: Valid skill\n\n**User**: \"Validate the doctor skill\"\n\n**Action**: Read `agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fdoctor\u002FSKILL.md`, find parent manifest, run all checks.\n\n**Output**:\n```\nComponent Validation: doctor (skill)\nPath: agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fdoctor\u002FSKILL.md\n\nChecks:\n  PASS  description frontmatter present\n  PASS  title section present\n  PASS  behavior section present\n  PASS  examples section present\n  PASS  listed in aiwg-utils manifest.json\n  PASS  lives in agentic\u002Fcode\u002F\n\nResult: PASS — all checks passed\n```\n\n### Example 2: Incomplete skill with placement violation\n\n**User**: \"validate component at .claude\u002Fskills\u002Fmy-new-skill\"\n\n**Action**: Read SKILL.md, check for completeness, check placement.\n\n**Output**:\n```\nComponent Validation: my-new-skill (skill)\nPath: .claude\u002Fskills\u002Fmy-new-skill\u002FSKILL.md\n\nChecks:\n  PASS  description frontmatter present\n  FAIL  no ## Behavior or ## Process section\n  FAIL  no ## Examples section\n  FAIL  placement violation: .claude\u002Fskills\u002F is a deployment target\n  FAIL  not found in any manifest.json\n\nResult: FAIL — 4 issues found\n\nRequired actions:\n  1. Add ## Behavior section to SKILL.md\n  2. Add ## Examples section to SKILL.md\n  3. Move to agentic\u002Fcode\u002Faddons\u002F\u003Cyour-addon>\u002Fskills\u002Fmy-new-skill\u002FSKILL.md\n  4. Add \"my-new-skill\" to your addon's manifest.json skills array\n  5. Run `aiwg use \u003Caddon>` to deploy\n```\n\n### Example 3: Circular skill-executed command\n\n**User**: \"check the my-command command\"\n\n**Action**: Read `definitions.ts`, find `executedViaSkillRunner: true`, read associated SKILL.md, search for `aiwg my-command`.\n\n**Output**:\n```\nComponent Validation: my-command (command)\nPath: src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts\n\nChecks:\n  PASS  definition entry present in definitions.ts\n  PASS  executedViaSkillRunner: true (no TypeScript handler required)\n  FAIL  circular call detected: SKILL.md contains \"aiwg my-command\" in bash block (line 47)\n\nResult: FAIL — 1 issue found\n\nRequired actions:\n  1. Rewrite SKILL.md to perform work directly via Read\u002FWrite\u002FBash\u002FTask tools\n     without calling back into `aiwg my-command`\n  See: agentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fno-circular-skill-calls.md\n```\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fcomponent-completeness.md — Full completeness requirements\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fskill-placement.md — Placement requirements\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fno-circular-skill-calls.md — Circular call detection\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Faiwg-dir-reference-contract.md — Normalized .aiwg\u002F path contract\n- @$AIWG_ROOT\u002Fsrc\u002Fextensions\u002Fcommands\u002Fdefinitions.ts — Command definition registry\n","# Validate Component\n\nYou check a single AIWG component — a skill, agent, or CLI command — for completeness and correctness, then produce a structured pass\u002Ffail report with specific gaps listed.\n\n## Triggers\n\n- \"validate this skill\" → check the skill in the current directory or named path\n- \"is this component complete\" → run completeness check\n- \"check this agent\" → validate agent frontmatter and manifest registration\n- \"validate component at \u003Cpath>\" → validate the named path\n- \"is this command wired up correctly\" → check CLI command completeness\n- \"pre-PR check on this skill\" → run validate-component\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Validate skill | \"validate this skill\" | Run skill completeness checks |\n| Validate agent | \"check this agent definition\" | Run agent completeness checks |\n| Validate command | \"is this command wired up\" | Run command completeness checks |\n| Path-specific | \"validate component at agentic\u002Fcode\u002Faddons\u002Fmy-addon\u002Fskills\u002Fmy-skill\" | Validate at given path |\n| Pre-PR | \"pre-PR check on this component\" | Run all applicable checks |\n\n## Process\n\n1. **Identify component type and path**:\n   - If no path is given, check the current working directory or the most recently edited file\n   - Detect type from directory structure:\n     - Path contains `skills\u002F\u003Cname>\u002FSKILL.md` → skill\n     - Path contains `agents\u002F\u003Cname>.md` or `agents\u002F\u003Cname>\u002F` → agent\n     - Component name appears in `src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts` → command\n\n2. **Run type-appropriate checks**:\n\n   **For a Skill**:\n   - Read the `SKILL.md` file\n   - Check: `description:` field present in YAML frontmatter\n   - Check: `# Title` section present\n   - Check: `## Behavior` or `## Process` section present\n   - Check: At least one `## Examples` entry\n   - Find the parent addon's `manifest.json` (walk up directory tree)\n   - Check: Skill name listed in `manifest.json` `skills` array\n   - Check: File lives in `agentic\u002Fcode\u002F` (not in a provider deployment directory)\n   - If SKILL.md contains `executedViaSkillRunner: true` reference: check for circular CLI call pattern\n   - **Full link classification check** (see Link Classification below)\n\n   **For an Agent**:\n   - Read the agent `.md` file\n   - Check: YAML frontmatter block present\n   - Check: `name:` field in frontmatter\n   - Check: `description:` field in frontmatter\n   - Check: `model:` field in frontmatter\n   - Check: `tools:` field in frontmatter\n   - Find parent addon's `manifest.json`\n   - Check: Agent listed in `manifest.json` `agents` array\n   - Check: File lives in `agentic\u002Fcode\u002F`\n   - **Full link classification check** (see Link Classification below)\n\n   **Link Classification** (applies to all component types):\n\n   Extract every `@\u003Cpath>` reference from the file and classify:\n\n   | Pattern | Result | Message |\n   |---------|--------|---------|\n   | `@$AIWG_ROOT\u002F\u003Cpath>` | PASS | AIWG core ref (install-relative) |\n   | `@$TOKEN\u002F\u003Cpath>` — TOKEN set in env | PASS | Registered corpus token |\n   | `@$TOKEN\u002F\u003Cpath>` — TOKEN NOT in env | WARN | `env var TOKEN not set; add to .env or export` |\n   | `@.aiwg\u002F\u003Cpath>` — path in Tier 1\u002F2 allowlist | PASS | Normalized project memory |\n   | `@.aiwg\u002F\u003Cpath>` — not in any `memory.creates` | FAIL | `non-normalized .aiwg\u002F path — repo-local only` |\n   | `@.claude\u002F\u003Cpath>` | FAIL | `deployment target — forbidden in distributable source` |\n   | `@agentic\u002Fcode\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fagentic\u002Fcode\u002F` |\n   | `@src\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fsrc\u002F` |\n   | `@docs\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Fdocs\u002F` |\n   | `@tools\u002F\u003Cpath>` | WARN | `legacy bare ref — migrate to @$AIWG_ROOT\u002Ftools\u002F` |\n   | Relative path within component | PASS | Local ref |\n\n   Build the Tier 2 allowlist by reading all `manifest.json` files in `agentic\u002Fcode\u002F` and collecting `memory.creates[*].path` values. Combine with Tier 1 (`.aiwg\u002FAIWG.md`, `.aiwg\u002Fframeworks\u002F`).\n\n   **For a CLI Command**:\n   - Read `src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts`\n   - Check: Command entry exists in definitions\n   - Check: Command has either `executedViaSkillRunner: true` OR a handler entry\n   - If `executedViaSkillRunner: true`: find the associated SKILL.md and verify it does not contain `aiwg \u003Ccommand-name>` in any bash block\n   - If handler expected: check `src\u002Fcli\u002Fhandlers\u002F` for the handler file and registration in `allHandlers`\n\n3. **Compile report**:\n\n   Format results as a structured report:\n\n   ```\n   Component Validation: \u003Ccomponent-name> (\u003Ctype>)\n   Path: \u003Cabsolute-or-relative-path>\n\n   Checks:\n     PASS  description frontmatter present\n     PASS  title section present\n     PASS  behavior section present\n     FAIL  no examples section found\n     PASS  listed in manifest.json\n     FAIL  not in agentic\u002Fcode\u002F (found in .claude\u002Fskills\u002F — placement violation)\n     WARN  @.aiwg\u002Fplanning\u002Fmy-design.md is not a normalized path (repo-local only)\n\n   Result: FAIL — 2 issues found\n\n   Required actions:\n     1. Add ## Examples section to SKILL.md\n     2. Move SKILL.md to agentic\u002Fcode\u002Faddons\u002F\u003Caddon>\u002Fskills\u002F\u003Cname>\u002FSKILL.md\n        then re-deploy with: aiwg use \u003Caddon>\n   ```\n\n4. **Surface the report** to the user with the result line prominent.\n\n## Examples\n\n### Example 1: Valid skill\n\n**User**: \"Validate the doctor skill\"\n\n**Action**: Read `agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fdoctor\u002FSKILL.md`, find parent manifest, run all checks.\n\n**Output**:\n```\nComponent Validation: doctor (skill)\nPath: agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fdoctor\u002FSKILL.md\n\nChecks:\n  PASS  description frontmatter present\n  PASS  title section present\n  PASS  behavior section present\n  PASS  examples section present\n  PASS  listed in aiwg-utils manifest.json\n  PASS  lives in agentic\u002Fcode\u002F\n\nResult: PASS — all checks passed\n```\n\n### Example 2: Incomplete skill with placement violation\n\n**User**: \"validate component at .claude\u002Fskills\u002Fmy-new-skill\"\n\n**Action**: Read SKILL.md, check for completeness, check placement.\n\n**Output**:\n```\nComponent Validation: my-new-skill (skill)\nPath: .claude\u002Fskills\u002Fmy-new-skill\u002FSKILL.md\n\nChecks:\n  PASS  description frontmatter present\n  FAIL  no ## Behavior or ## Process section\n  FAIL  no ## Examples section\n  FAIL  placement violation: .claude\u002Fskills\u002F is a deployment target\n  FAIL  not found in any manifest.json\n\nResult: FAIL — 4 issues found\n\nRequired actions:\n  1. Add ## Behavior section to SKILL.md\n  2. Add ## Examples section to SKILL.md\n  3. Move to agentic\u002Fcode\u002Faddons\u002F\u003Cyour-addon>\u002Fskills\u002Fmy-new-skill\u002FSKILL.md\n  4. Add \"my-new-skill\" to your addon's manifest.json skills array\n  5. Run `aiwg use \u003Caddon>` to deploy\n```\n\n### Example 3: Circular skill-executed command\n\n**User**: \"check the my-command command\"\n\n**Action**: Read `definitions.ts`, find `executedViaSkillRunner: true`, read associated SKILL.md, search for `aiwg my-command`.\n\n**Output**:\n```\nComponent Validation: my-command (command)\nPath: src\u002Fextensions\u002Fcommands\u002Fdefinitions.ts\n\nChecks:\n  PASS  definition entry present in definitions.ts\n  PASS  executedViaSkillRunner: true (no TypeScript handler required)\n  FAIL  circular call detected: SKILL.md contains \"aiwg my-command\" in bash block (line 47)\n\nResult: FAIL — 1 issue found\n\nRequired actions:\n  1. Rewrite SKILL.md to perform work directly via Read\u002FWrite\u002FBash\u002FTask tools\n     without calling back into `aiwg my-command`\n  See: agentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fno-circular-skill-calls.md\n```\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fcomponent-completeness.md — Full completeness requirements\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fskill-placement.md — Placement requirements\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Fno-circular-skill-calls.md — Circular call detection\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-dev\u002Frules\u002Faiwg-dir-reference-contract.md — Normalized .aiwg\u002F path contract\n- @$AIWG_ROOT\u002Fsrc\u002Fextensions\u002Fcommands\u002Fdefinitions.ts — Command definition registry\n",{"name":59,"namespace":60,"platforms":61,"description":63},"validate-component","aiwg",[62],"all","Validate a single AIWG component (skill, agent, or command) for completeness and correctness","main","6754967c344ccb087a8de06972f55a41067b291b",2,"https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002FSKILL.md","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fvassiliy-lakhonin\u002F","Building tools that help AI agents verify evidence, respect permissions, and get human approval before acting.","2026-11-10 01:49:46",{"source":8,"skillName":59,"commands":74,"prompt":84,"zipAvailable":85},[75,78,81],{"tool":76,"command":77},"npx","npx skills add vassiliylakhonin\u002Fglobal-think-tank-analyst --skill validate-component",{"tool":79,"command":80},"bunx","bunx skills add vassiliylakhonin\u002Fglobal-think-tank-analyst --skill validate-component",{"tool":82,"command":83},"pnpm","pnpm dlx skills add vassiliylakhonin\u002Fglobal-think-tank-analyst --skill validate-component","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002Fcodex\u002FSKILL.md",true,[],[88,103,109],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":96,"publishedAt":54},"01M6DBMEGDK6TNXPE3TE7SC8EX","global-think-tank-analyst","Strategic-risk analysis skill for AI agents producing decision-ready memos on geopolitics, sanctions, trade, regulation, and strategic risk with explicit evidence boundaries, uncertainty, scenarios, actor incentives, trade-offs, and watch-next indicators. Use for a country risk brief, policy memo, sanctions or export-control exposure assessment, trade or regulatory implications memo, geopolitical scenario brief, strategic implications note for leadership, stakeholder and incentives analysis, a red-team challenge to an existing policy or risk view, or a decision briefing pack for founders, operators, investors, NGOs, compliance teams, policy teams, or leadership. Do not use for a simple news recap, encyclopedia-style overview, academic literature review, legal advice, intelligence-style certainty, decorative analysis, or unsupported quantitative forecasting.","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002Fsrc\u002Fgtta\u002Fskills\u002FSKILL.md",[94,95],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[97,98,99,100,101,43,49,48,47,46,51,45,44,35,42,41,40,39,38,37,36,102,52,29,53],"think","global","analyst","global think tank analyst","think tank","for",{"skillNo":104,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":108,"publishedAt":54},"01M6DBMC3B4JJH1T0XYCZBR5WZ","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002Fskills\u002Fglobal-think-tank-analyst\u002FSKILL.md",[107],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[101,98,97,99,100],{"skillNo":110,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":111,"sourceHtmlUrl":68,"categories":112,"keywords":115,"publishedAt":54},"01M6DBKGDMVBEWEY9FB5S0Y75H","https:\u002F\u002Fgithub.com\u002Fvassiliylakhonin\u002Fglobal-think-tank-analyst\u002Fblob\u002Fmain\u002FLICENSE",[113,114],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[100,99,97,98,101,29,42,53,52,51,50,49,48,47,46,45,44,43,41,40,39,38,37,36,102,35]]