[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CAT6AE53C8NGQJCDXQB19V":3,"skill-same:01M6CAT6AE53C8NGQJCDXQB19V":81},{"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":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6CAT6AE53C8NGQJCDXQB19V","aiwg-regenerate-opencode",null,"Regenerate OpenCode context file (.opencode\u002Fcontext.md) with AIWG framework content","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Faiwg-regenerate-opencode\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"opencode","aiwg regenerate","aiwg regenerate opencode","edit","standard","dry-run","sonnet","with","dry","full","context","run","write","read","coding","migrate","Bash","backup","file","content","framework","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: aiwg-regenerate-opencode\nplatforms: [all]\ndescription: Regenerate OpenCode context file (.opencode\u002Fcontext.md) with AIWG framework content\ncommandHint:\n  argumentHint: \"[--no-backup] [--dry-run] [--full-inject] [--migrate]\"\n  allowedTools: Read, Write, Edit, Bash, Glob\n  model: sonnet\n  category: context-regeneration\n  modelRole: coding\n  modelTier: standard\n---\n\n# Regenerate OpenCode Context\n\nRegenerate the `.opencode\u002Fcontext.md` file for OpenCode integration. Performs an **intelligent merge** — preserving team-written content while updating AIWG context.\n\n## Core Principle\n\n**Team content is preserved. AIWG content is updated. Hook file approach used when supported.**\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--no-backup` | Skip creating backup file |\n| `--dry-run` | Preview changes without writing |\n| `--full-inject` | Inject full content directly into context.md (legacy\u002Fcompatibility mode) |\n| `--migrate` | Migrate existing full-injection to hook file approach |\n\n## Hook File Approach (Default)\n\nBy default, this command uses the hook file architecture:\n\n1. Generate `AIWG-opencode.md` with AIWG framework content\n2. Add `@AIWG-opencode.md` directive to `.opencode\u002Fcontext.md`\n\n**Note**: OpenCode's support for `@file` directives is not yet confirmed. If the `@` directive is not supported, use `--full-inject` as a fallback. See #444 for status.\n\n## Execution Steps\n\n### Step 1: Create Backup\n\nUnless `--no-backup` specified, create `.opencode\u002Fcontext.md.backup-{YYYYMMDD-HHMMSS}`.\n\n### Step 2: Analyze Existing Content\n\nRead `.opencode\u002Fcontext.md` if it exists and categorize:\n\n- **Team content** (PRESERVE): Project rules, conventions, business logic\n- **AIWG content** (UPDATE): Framework integration sections\n\n### Step 3: Detect Hook File Support\n\nCheck whether existing `.opencode\u002Fcontext.md` uses a hook file directive:\n\n```bash\ngrep -q \"@AIWG-opencode.md\" .opencode\u002Fcontext.md && echo \"hook approach\" || echo \"full inject or fresh\"\n```\n\n### Step 4: Generate AIWG-opencode.md\n\nGenerate the hook file content from installed framework manifests (same as `aiwg hook-regenerate --provider opencode`).\n\n**If `--full-inject`**: Skip hook file generation, embed content directly.\n\n### Step 5: Write Output\n\n**Hook approach** (default):\n1. Write `AIWG-opencode.md` with generated content\n2. Update `.opencode\u002Fcontext.md`: preserve team content + add `@AIWG-opencode.md` directive\n\n**Full inject** (`--full-inject`):\n1. Embed full AIWG content in `.opencode\u002Fcontext.md` between markers:\n   ```\n   \u003C!-- BEGIN AIWG -->\n   [content]\n   \u003C!-- END AIWG -->\n   ```\n\n### Step 6: Report\n\n```\nOpenCode Context Regenerated\n=============================\n\nBackup: .opencode\u002Fcontext.md.backup-20260322-190000\n\nHook file:    AIWG-opencode.md (312 lines, written)\nContext file: .opencode\u002Fcontext.md updated\n  @AIWG-opencode.md directive added\n\nTeam content preserved: 14 lines\n```\n\n## Note on OpenCode @-Link Support\n\nOpenCode's support for `@file` includes within `.opencode\u002Fcontext.md` is currently unverified (see #444). If you encounter issues with AIWG context not loading:\n\n```bash\n# Fall back to full injection\n\u002Faiwg-regenerate-opencode --full-inject\n```\n\n## Examples\n\n```bash\n# Default (hook file approach)\n\u002Faiwg-regenerate-opencode\n\n# Full injection (compatibility mode)\n\u002Faiwg-regenerate-opencode --full-inject\n\n# Preview without writing\n\u002Faiwg-regenerate-opencode --dry-run\n\n# Migrate from full inject to hook file\n\u002Faiwg-regenerate-opencode --migrate\n```\n\n## Related Commands\n\n| Command | Regenerates |\n|---------|-------------|\n| `\u002Faiwg-regenerate` | Auto-detect and delegate |\n| `\u002Fhook-status` | Check hook state |\n| `\u002Fhook-regenerate --provider opencode` | Rebuild hook file only |\n| `\u002Fmigrate-hook --provider opencode` | Migrate full inject to hook |\n\n## References\n\n- #439 — AIWG.md hook file architecture\n- #444 — Multi-provider @-link support research\n- #446 — Regenerate command suite update\n","# Regenerate OpenCode Context\n\nRegenerate the `.opencode\u002Fcontext.md` file for OpenCode integration. Performs an **intelligent merge** — preserving team-written content while updating AIWG context.\n\n## Core Principle\n\n**Team content is preserved. AIWG content is updated. Hook file approach used when supported.**\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--no-backup` | Skip creating backup file |\n| `--dry-run` | Preview changes without writing |\n| `--full-inject` | Inject full content directly into context.md (legacy\u002Fcompatibility mode) |\n| `--migrate` | Migrate existing full-injection to hook file approach |\n\n## Hook File Approach (Default)\n\nBy default, this command uses the hook file architecture:\n\n1. Generate `AIWG-opencode.md` with AIWG framework content\n2. Add `@AIWG-opencode.md` directive to `.opencode\u002Fcontext.md`\n\n**Note**: OpenCode's support for `@file` directives is not yet confirmed. If the `@` directive is not supported, use `--full-inject` as a fallback. See #444 for status.\n\n## Execution Steps\n\n### Step 1: Create Backup\n\nUnless `--no-backup` specified, create `.opencode\u002Fcontext.md.backup-{YYYYMMDD-HHMMSS}`.\n\n### Step 2: Analyze Existing Content\n\nRead `.opencode\u002Fcontext.md` if it exists and categorize:\n\n- **Team content** (PRESERVE): Project rules, conventions, business logic\n- **AIWG content** (UPDATE): Framework integration sections\n\n### Step 3: Detect Hook File Support\n\nCheck whether existing `.opencode\u002Fcontext.md` uses a hook file directive:\n\n```bash\ngrep -q \"@AIWG-opencode.md\" .opencode\u002Fcontext.md && echo \"hook approach\" || echo \"full inject or fresh\"\n```\n\n### Step 4: Generate AIWG-opencode.md\n\nGenerate the hook file content from installed framework manifests (same as `aiwg hook-regenerate --provider opencode`).\n\n**If `--full-inject`**: Skip hook file generation, embed content directly.\n\n### Step 5: Write Output\n\n**Hook approach** (default):\n1. Write `AIWG-opencode.md` with generated content\n2. Update `.opencode\u002Fcontext.md`: preserve team content + add `@AIWG-opencode.md` directive\n\n**Full inject** (`--full-inject`):\n1. Embed full AIWG content in `.opencode\u002Fcontext.md` between markers:\n   ```\n   \u003C!-- BEGIN AIWG -->\n   [content]\n   \u003C!-- END AIWG -->\n   ```\n\n### Step 6: Report\n\n```\nOpenCode Context Regenerated\n=============================\n\nBackup: .opencode\u002Fcontext.md.backup-20260322-190000\n\nHook file:    AIWG-opencode.md (312 lines, written)\nContext file: .opencode\u002Fcontext.md updated\n  @AIWG-opencode.md directive added\n\nTeam content preserved: 14 lines\n```\n\n## Note on OpenCode @-Link Support\n\nOpenCode's support for `@file` includes within `.opencode\u002Fcontext.md` is currently unverified (see #444). If you encounter issues with AIWG context not loading:\n\n```bash\n# Fall back to full injection\n\u002Faiwg-regenerate-opencode --full-inject\n```\n\n## Examples\n\n```bash\n# Default (hook file approach)\n\u002Faiwg-regenerate-opencode\n\n# Full injection (compatibility mode)\n\u002Faiwg-regenerate-opencode --full-inject\n\n# Preview without writing\n\u002Faiwg-regenerate-opencode --dry-run\n\n# Migrate from full inject to hook file\n\u002Faiwg-regenerate-opencode --migrate\n```\n\n## Related Commands\n\n| Command | Regenerates |\n|---------|-------------|\n| `\u002Faiwg-regenerate` | Auto-detect and delegate |\n| `\u002Fhook-status` | Check hook state |\n| `\u002Fhook-regenerate --provider opencode` | Rebuild hook file only |\n| `\u002Fmigrate-hook --provider opencode` | Migrate full inject to hook |\n\n## References\n\n- #439 — AIWG.md hook file architecture\n- #444 — Multi-provider @-link support research\n- #446 — Regenerate command suite update\n",{"name":5,"namespace":50,"platforms":51,"commandHint":53,"description":7},"aiwg",[52],"all",{"model":30,"category":54,"modelRole":38,"modelTier":28,"allowedTools":55,"argumentHint":56},"context-regeneration","Read, Write, Edit, Bash, Glob","[--no-backup] [--dry-run] [--full-inject] [--migrate]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Faiwg-regenerate-opencode",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-14 02:10:01",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add jmagly\u002Faiwg --skill aiwg-regenerate-opencode",{"tool":73,"command":74},"bunx","bunx skills add jmagly\u002Faiwg --skill aiwg-regenerate-opencode",{"tool":76,"command":77},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill aiwg-regenerate-opencode","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Faiwg-regenerate-opencode\u002FSKILL.md",true,[],[82,108,131,137,144,158],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":45},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[88],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[90,91,92,37,93,94,95,96,97,98,40,99,100,101,102,103,104,105,106,107],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":118,"publishedAt":45},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[114,117],{"categoryNo":115,"categoryName":116,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[119,120,121,37,122,97,123,124,40,125,90,126,100,127,128,103,104,129,130,36],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":132,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":45},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[135],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,90,91,99,37,107,95,94,102,96,97,98,40,106,100,101,93,103,104,105],{"skillNo":138,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":143,"publishedAt":45},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[141,142],{"categoryNo":115,"categoryName":116,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[120,119,103,122,97,123,40,121,90,126,100,127,128,37,104,125,124,129,130,36],{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":151,"publishedAt":45},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[150],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[152,153,154,155,156,157],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":165,"publishedAt":45},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[164],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[166,167,127,168,153],"pi","pi local","duplicate"]