[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C1R8YYFKRNJ05FKFXDMXT3":3,"skill-same:01M6C1R8YYFKRNJ05FKFXDMXT3":70},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M6C1R8YYFKRNJ05FKFXDMXT3","forensics-ioc",null,"Extract and enrich indicators of compromise","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\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fforensics-ioc\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],"forensics","ioc","forensics ioc","stix","indicators","markdown","json","format","extract","output","enrich","path","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: forensics-ioc\nplatforms: [all]\ndescription: Extract and enrich indicators of compromise\ncommandHint:\n  argumentHint: \"\u003Cfindings-path> [--enrich] [--stix] [--output path] [--format markdown|json|stix]\"\n  category: forensics-ioc\n---\n\n# \u002Fforensics-ioc\n\nExtract indicators of compromise (IOCs) from forensic findings, enrich them with threat intelligence lookups, and map them to STIX 2.1 observables. Produces a structured IOC register suitable for detection rule generation, MISP import, or threat intelligence sharing.\n\n## Usage\n\n`\u002Fforensics-ioc \u003Cfindings-path> [options]`\n\n## Arguments\n\n| Argument | Required | Description |\n|----------|----------|-------------|\n| findings-path | Yes | Path to findings directory or specific finding file |\n| --enrich | No | Perform threat intelligence enrichment lookups |\n| --stix | No | Generate STIX 2.1 bundle alongside IOC register |\n| --output | No | Output path (default: `.aiwg\u002Fforensics\u002Fioc\u002Fioc-register.md`) |\n| --format | No | Output format: `markdown` (default), `json`, `stix`, `misp` |\n| --types | No | IOC types to extract: `ip`, `domain`, `hash`, `url`, `email`, `all` (default: `all`) |\n| --confidence | No | Minimum confidence threshold for inclusion: `low`, `medium`, `high` (default: `low`) |\n| --no-private | No | Exclude RFC-1918 and loopback addresses |\n\n## Behavior\n\nWhen invoked, this command:\n\n1. **Scan Findings for Observables**\n   - Read all finding documents in the specified path\n   - Parse timeline artifacts, triage summaries, and analysis outputs\n   - Extract raw observable strings matching IOC patterns\n\n2. **IOC Extraction by Type**\n\n   | Type | Sources | Pattern |\n   |------|---------|---------|\n   | IPv4\u002FIPv6 | Network analysis, auth logs, connections | Address notation |\n   | Domain\u002FFQDN | DNS queries, connection targets, configs | Domain pattern |\n   | File hash (MD5\u002FSHA1\u002FSHA256) | Acquisition checksums, malware artifacts | Hex string |\n   | URL | Web logs, process command lines, configs | HTTP\u002FHTTPS URL |\n   | Email address | Auth logs, user accounts | Email pattern |\n   | File path | Persistence findings, process analysis | Suspicious paths |\n   | Process name | Triage process list, persistence | Masquerading names |\n   | User agent | Web logs | Browser\u002Ftool strings |\n\n3. **Deduplication and Normalization**\n   - Remove duplicate IOCs of the same type and value\n   - Normalize IP addresses (strip ports, consolidate subnets)\n   - Lowercase domain names\n   - Uppercase file hashes\n   - Apply `--no-private` filtering if specified\n\n4. **Confidence Scoring**\n   - Score each IOC based on context and repetition\n   - HIGH: IOC observed in multiple independent sources or directly linked to attack\n   - MEDIUM: IOC appears in findings with indirect correlation\n   - LOW: IOC extracted from context; may require validation\n   - Mark false-positive candidates (CDN IPs, common system paths)\n\n5. **Threat Intelligence Enrichment** (when `--enrich` specified)\n   - Query VirusTotal, AbuseIPDB, or configured TI feeds for IP\u002Fdomain\u002Fhash IOCs\n   - Record reputation score, malware family, and associated threat actor\n   - Note prior sightings and first\u002Flast seen dates\n   - Attach TI source attribution\n\n6. **STIX 2.1 Mapping** (when `--stix` specified)\n   - Map each IOC to appropriate STIX Observable object type\n   - Create STIX Indicator objects with detection patterns\n   - Bundle into STIX 2.1 JSON bundle\n   - Link observables to Threat Actor and Malware objects where applicable\n\n7. **Detection Rule Suggestions**\n   - Generate Sigma rule stubs for network IOCs\n   - Generate firewall rule suggestions for IP\u002FCIDR blocks\n   - Generate YARA rule stubs for file hashes\n   - Note which IOCs are suitable for automated blocking vs. monitoring\n\n8. **IOC Register Output**\n   - Write structured IOC register with all extracted indicators\n   - Include context, confidence, enrichment data, and MITRE mapping\n   - Export STIX bundle if requested\n   - Update investigation state with IOC count\n\n## Examples\n\n### Example 1: Extract IOCs from findings directory\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002Ffindings\u002F\n```\n\n### Example 2: Extract and enrich with threat intel\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002Ffindings\u002F --enrich\n```\n\n### Example 3: STIX 2.1 output\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --stix --format stix\n```\n\n### Example 4: High confidence only, exclude private IPs\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --confidence high --no-private\n```\n\n### Example 5: MISP import format\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --enrich --format misp\n```\n\n## Output\n\nArtifacts are saved to `.aiwg\u002Fforensics\u002Fioc\u002F`:\n\n```\n.aiwg\u002Fforensics\u002Fioc\u002F\n├── ioc-register.md           # Human-readable IOC register\n├── ioc-register.json         # Machine-readable IOC list\n├── stix-bundle.json          # STIX 2.1 bundle (if --stix)\n├── detection-rules\u002F\n│   ├── network-ioc.sigma     # Sigma rule stubs\n│   └── file-ioc.yara         # YARA rule stubs\n└── enrichment-cache.json     # TI lookup results cache\n```\n\n### Sample IOC Register\n\n```\nIOC Register: INV-2026-02-27-web01\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nExtraction complete: 12 IOCs (4 enriched)\n\n--- Network IOCs ---\n\n| Type    | Value                | Confidence | Context                        | TI Result              |\n|---------|----------------------|------------|--------------------------------|------------------------|\n| IPv4    | 185.220.101.42       | HIGH       | SSH brute force source; C2     | Known Tor exit node    |\n| Domain  | update-check.net     | HIGH       | DNS query from \u002Ftmp\u002F.update    | Malware C2 (VirusTotal)|\n| IPv4    | 10.0.0.15            | MEDIUM     | Lateral movement destination   | Internal host          |\n\n--- File IOCs ---\n\n| Type     | Value                   | Confidence | Context                       |\n|----------|-------------------------|------------|-------------------------------|\n| SHA256   | a1b2c3d4e5f6...         | HIGH       | \u002Ftmp\u002F.update - C2 implant     |\n| Path     | \u002Ftmp\u002F.update            | HIGH       | Malicious cron-executed binary|\n| Path     | \u002Fdev\u002Fshm\u002F.x             | MEDIUM     | Hidden file in tmpfs          |\n\n--- Account IOCs ---\n\n| Type | Value   | Confidence | Context                                  |\n|------|---------|------------|------------------------------------------|\n| User | deploy  | HIGH       | Compromised account (brute forced)       |\n\nTotal: 7 network, 3 file, 2 account IOCs\nSTIX bundle: .aiwg\u002Fforensics\u002Fioc\u002Fstix-bundle.json\n```\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fagents\u002Fioc-analyst.md - IOC Analyst\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Ftemplates\u002Fioc-register.md - Register template\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fcommands\u002Fforensics-report.md - Include IOCs in report\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fcommands\u002Fforensics-timeline.md - Timeline correlation\n","# \u002Fforensics-ioc\n\nExtract indicators of compromise (IOCs) from forensic findings, enrich them with threat intelligence lookups, and map them to STIX 2.1 observables. Produces a structured IOC register suitable for detection rule generation, MISP import, or threat intelligence sharing.\n\n## Usage\n\n`\u002Fforensics-ioc \u003Cfindings-path> [options]`\n\n## Arguments\n\n| Argument | Required | Description |\n|----------|----------|-------------|\n| findings-path | Yes | Path to findings directory or specific finding file |\n| --enrich | No | Perform threat intelligence enrichment lookups |\n| --stix | No | Generate STIX 2.1 bundle alongside IOC register |\n| --output | No | Output path (default: `.aiwg\u002Fforensics\u002Fioc\u002Fioc-register.md`) |\n| --format | No | Output format: `markdown` (default), `json`, `stix`, `misp` |\n| --types | No | IOC types to extract: `ip`, `domain`, `hash`, `url`, `email`, `all` (default: `all`) |\n| --confidence | No | Minimum confidence threshold for inclusion: `low`, `medium`, `high` (default: `low`) |\n| --no-private | No | Exclude RFC-1918 and loopback addresses |\n\n## Behavior\n\nWhen invoked, this command:\n\n1. **Scan Findings for Observables**\n   - Read all finding documents in the specified path\n   - Parse timeline artifacts, triage summaries, and analysis outputs\n   - Extract raw observable strings matching IOC patterns\n\n2. **IOC Extraction by Type**\n\n   | Type | Sources | Pattern |\n   |------|---------|---------|\n   | IPv4\u002FIPv6 | Network analysis, auth logs, connections | Address notation |\n   | Domain\u002FFQDN | DNS queries, connection targets, configs | Domain pattern |\n   | File hash (MD5\u002FSHA1\u002FSHA256) | Acquisition checksums, malware artifacts | Hex string |\n   | URL | Web logs, process command lines, configs | HTTP\u002FHTTPS URL |\n   | Email address | Auth logs, user accounts | Email pattern |\n   | File path | Persistence findings, process analysis | Suspicious paths |\n   | Process name | Triage process list, persistence | Masquerading names |\n   | User agent | Web logs | Browser\u002Ftool strings |\n\n3. **Deduplication and Normalization**\n   - Remove duplicate IOCs of the same type and value\n   - Normalize IP addresses (strip ports, consolidate subnets)\n   - Lowercase domain names\n   - Uppercase file hashes\n   - Apply `--no-private` filtering if specified\n\n4. **Confidence Scoring**\n   - Score each IOC based on context and repetition\n   - HIGH: IOC observed in multiple independent sources or directly linked to attack\n   - MEDIUM: IOC appears in findings with indirect correlation\n   - LOW: IOC extracted from context; may require validation\n   - Mark false-positive candidates (CDN IPs, common system paths)\n\n5. **Threat Intelligence Enrichment** (when `--enrich` specified)\n   - Query VirusTotal, AbuseIPDB, or configured TI feeds for IP\u002Fdomain\u002Fhash IOCs\n   - Record reputation score, malware family, and associated threat actor\n   - Note prior sightings and first\u002Flast seen dates\n   - Attach TI source attribution\n\n6. **STIX 2.1 Mapping** (when `--stix` specified)\n   - Map each IOC to appropriate STIX Observable object type\n   - Create STIX Indicator objects with detection patterns\n   - Bundle into STIX 2.1 JSON bundle\n   - Link observables to Threat Actor and Malware objects where applicable\n\n7. **Detection Rule Suggestions**\n   - Generate Sigma rule stubs for network IOCs\n   - Generate firewall rule suggestions for IP\u002FCIDR blocks\n   - Generate YARA rule stubs for file hashes\n   - Note which IOCs are suitable for automated blocking vs. monitoring\n\n8. **IOC Register Output**\n   - Write structured IOC register with all extracted indicators\n   - Include context, confidence, enrichment data, and MITRE mapping\n   - Export STIX bundle if requested\n   - Update investigation state with IOC count\n\n## Examples\n\n### Example 1: Extract IOCs from findings directory\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002Ffindings\u002F\n```\n\n### Example 2: Extract and enrich with threat intel\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002Ffindings\u002F --enrich\n```\n\n### Example 3: STIX 2.1 output\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --stix --format stix\n```\n\n### Example 4: High confidence only, exclude private IPs\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --confidence high --no-private\n```\n\n### Example 5: MISP import format\n```bash\n\u002Fforensics-ioc .aiwg\u002Fforensics\u002F --enrich --format misp\n```\n\n## Output\n\nArtifacts are saved to `.aiwg\u002Fforensics\u002Fioc\u002F`:\n\n```\n.aiwg\u002Fforensics\u002Fioc\u002F\n├── ioc-register.md           # Human-readable IOC register\n├── ioc-register.json         # Machine-readable IOC list\n├── stix-bundle.json          # STIX 2.1 bundle (if --stix)\n├── detection-rules\u002F\n│   ├── network-ioc.sigma     # Sigma rule stubs\n│   └── file-ioc.yara         # YARA rule stubs\n└── enrichment-cache.json     # TI lookup results cache\n```\n\n### Sample IOC Register\n\n```\nIOC Register: INV-2026-02-27-web01\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nExtraction complete: 12 IOCs (4 enriched)\n\n--- Network IOCs ---\n\n| Type    | Value                | Confidence | Context                        | TI Result              |\n|---------|----------------------|------------|--------------------------------|------------------------|\n| IPv4    | 185.220.101.42       | HIGH       | SSH brute force source; C2     | Known Tor exit node    |\n| Domain  | update-check.net     | HIGH       | DNS query from \u002Ftmp\u002F.update    | Malware C2 (VirusTotal)|\n| IPv4    | 10.0.0.15            | MEDIUM     | Lateral movement destination   | Internal host          |\n\n--- File IOCs ---\n\n| Type     | Value                   | Confidence | Context                       |\n|----------|-------------------------|------------|-------------------------------|\n| SHA256   | a1b2c3d4e5f6...         | HIGH       | \u002Ftmp\u002F.update - C2 implant     |\n| Path     | \u002Ftmp\u002F.update            | HIGH       | Malicious cron-executed binary|\n| Path     | \u002Fdev\u002Fshm\u002F.x             | MEDIUM     | Hidden file in tmpfs          |\n\n--- Account IOCs ---\n\n| Type | Value   | Confidence | Context                                  |\n|------|---------|------------|------------------------------------------|\n| User | deploy  | HIGH       | Compromised account (brute forced)       |\n\nTotal: 7 network, 3 file, 2 account IOCs\nSTIX bundle: .aiwg\u002Fforensics\u002Fioc\u002Fstix-bundle.json\n```\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fagents\u002Fioc-analyst.md - IOC Analyst\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Ftemplates\u002Fioc-register.md - Register template\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fcommands\u002Fforensics-report.md - Include IOCs in report\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fcommands\u002Fforensics-timeline.md - Timeline correlation\n",{"name":5,"namespace":41,"platforms":42,"commandHint":44,"description":7},"aiwg",[43],"all",{"category":5,"argumentHint":45},"\u003Cfindings-path> [--enrich] [--stix] [--output path] [--format markdown|json|stix]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fforensics-ioc",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-12 00:33:10",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add jmagly\u002Faiwg --skill forensics-ioc",{"tool":62,"command":63},"bunx","bunx skills add jmagly\u002Faiwg --skill forensics-ioc",{"tool":65,"command":66},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill forensics-ioc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fforensics-ioc\u002FSKILL.md",true,[],[71,99,123,129,136,150],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":78,"publishedAt":36},"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",[77],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"host","host hardening","hardening","read","re","recommendations","remediation","plan","port","verification","Bash","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":109,"publishedAt":36},"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",[105,108],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[110,111,112,82,113,87,114,115,89,116,79,117,91,118,119,94,95,120,121,122],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":124,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":36},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[127],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[81,79,80,90,82,98,85,84,93,86,87,88,89,97,91,92,83,94,95,96],{"skillNo":130,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":135,"publishedAt":36},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[133,134],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[111,110,94,113,87,114,89,112,79,117,91,118,119,82,95,116,115,120,121,122],{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":36},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[142],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[144,145,146,147,148,149],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":36},"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",[156],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[158,159,118,160,145],"pi","pi local","duplicate"]