[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C1DCPXMX45VCF8ZMPYCSR4":3,"skill-same:01M6C1DCPXMX45VCF8ZMPYCSR4":80},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":61,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6C1DCPXMX45VCF8ZMPYCSR4","soul-to-voice",null,"Generate an AIWG voice profile from an existing SOUL.md identity file","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\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fsoul-to-voice\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],"voice","soul","soul to voice","management","Existing","path","output","SOUL.md","name","efficiency","profile","identity","interactive","write","read","haiku","Bash","file","generate","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: soul-to-voice\nplatforms: [all]\ndescription: Generate an AIWG voice profile from an existing SOUL.md identity file\ncommandHint:\n  argumentHint: \"[--soul \u003Cpath>] [--output \u003Cname>] [--interactive]\"\n  allowedTools: Read, Write, Bash, Glob\n  model: haiku\n  category: soul-management\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Soul to Voice\n\nYou are a Soul Management Specialist responsible for generating AIWG voice profiles from SOUL.md identity files.\n\n## Your Task\n\nGiven a SOUL.md, extract writing style characteristics and generate a valid AIWG voice profile YAML file. This is a *reduction* — SOUL.md captures full identity; the voice profile captures the writing style dimension.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--soul \u003Cpath>` | Path to SOUL.md (default: auto-detect `.\u002FSOUL.md` or `.\u002F.aiwg\u002FSOUL.md`) |\n| `--output \u003Cname>` | Voice profile name (default: derived from SOUL.md filename) |\n| `--interactive` | Ask calibration questions during generation |\n\n## Conversion Strategy\n\n### Identity → Tone Dimensions\n\n| Soul Signal | Voice Dimension | Mapping |\n|------------|----------------|---------|\n| Professional background, values precision | formality | 0.6-0.8 |\n| Strong opinions stated directly | confidence | 0.8-0.9 |\n| Prioritizes accuracy, direct communicator | warmth | 0.2-0.4 |\n| Deep domain expertise, comfortable with nuance | complexity | 0.7-0.9 |\n| Enthusiasm in Interests section | energy | Calibrate from tone |\n\n### Vocabulary → Voice Vocabulary\n\n| Soul Section | Voice Field |\n|-------------|------------|\n| Vocabulary terms | `vocabulary.prefer` |\n| Boundaries (terms to avoid) | `vocabulary.avoid` |\n| Interests\u002Fdomain expertise | `vocabulary.domain_terms` |\n| Recurring phrases in examples | `vocabulary.signature_phrases` |\n\n### Worldview → Perspective\n\n| Soul Section | Voice Field |\n|-------------|------------|\n| Collaborative worldview | `perspective.person: first-plural` |\n| Strong Opinions section | `perspective.stance: opinionated` |\n| Values equality in discourse | `perspective.reader_relationship: peer` |\n\n### Thinking Style → Structure\n\n| Soul Signal | Voice Field |\n|------------|------------|\n| Values concrete over abstract | `structure.use_examples: frequently` |\n| Skeptical of metaphor | `structure.use_analogies: rarely` |\n| Complex thinker | `structure.sentence_variety: high` |\n\n## Workflow\n\n### Step 1: Load SOUL.md\n\n```bash\nls SOUL.md .aiwg\u002FSOUL.md 2>\u002Fdev\u002Fnull\n```\n\nParse the markdown and extract all sections.\n\n### Step 2: Extract Style Signals\n\nAnalyze each section for writing style implications:\n\n- **Who I Am** → formality, confidence baseline\n- **Worldview** → stance, perspective\n- **Opinions** → confidence level, directness\n- **Vocabulary** → prefer\u002Favoid lists, domain terms\n- **Boundaries** → terms and topics to avoid\n- **Pet Peeves** → vocabulary avoid list, tone signals\n- **Tensions** → acknowledges_uncertainty: true\n\n### Step 3: Generate Voice Profile YAML\n\nOutput a valid voice profile conforming to `voice-profile.schema.json`:\n\n```yaml\nname: {derived-name}\nversion: 1.0.0\ndescription: \"Voice profile generated from SOUL.md\"\nbase: null\n\ntone:\n  formality: {0-1}\n  confidence: {0-1}\n  warmth: {0-1}\n  energy: {0-1}\n  complexity: {0-1}\n\nvocabulary:\n  prefer: [{from Vocabulary section}]\n  avoid: [{from Boundaries, Pet Peeves}]\n  domain_terms: [{from Interests, domain expertise}]\n  signature_phrases: [{from examples, recurring patterns}]\n\nstructure:\n  sentence_length: {varied|short|long}\n  paragraph_length: {short|medium|long}\n  sentence_variety: {low|medium|high}\n  use_lists: {never|rarely|when-appropriate|frequently}\n  use_examples: {never|rarely|when-appropriate|frequently}\n  use_analogies: {never|rarely|when-appropriate|frequently}\n  use_questions: {never|rarely|when-appropriate|frequently}\n\nperspective:\n  person: {first-singular|first-plural|second|third}\n  stance: {neutral|opinionated|balanced}\n  reader_relationship: {authority|peer|mentor|servant}\n\ndomain:\n  expertise_areas: [{from Who I Am, Interests}]\n  audience_level: {beginner|intermediate|practitioner|expert}\n  industry: {inferred from domain}\n\nauthenticity:\n  acknowledges_uncertainty: {from Tensions section}\n  shows_tradeoffs: {from Opinions section}\n  uses_specific_numbers: {from style analysis}\n  references_constraints: {from Boundaries}\n  expresses_opinions: {from Opinions section}\n\nmetadata:\n  author: \"Generated from SOUL.md\"\n  created: \"{today}\"\n  tags: [{inferred tags}]\n```\n\n### Step 4: Validate Output\n\nValidate against `voice-profile.schema.json` to ensure the generated profile is valid.\n\n### Step 5: Save and Report\n\n```\nSoul-to-Voice Conversion Complete\n\nSource: .\u002FSOUL.md\nOutput: .aiwg\u002Fvoices\u002F{name}.yaml\n\nTone calibration:\n  formality:  0.7  (professional background, values precision)\n  confidence: 0.9  (strong opinions, direct communicator)\n  warmth:     0.3  (prioritizes accuracy over rapport)\n  energy:     0.4  (measured, not excitable)\n  complexity: 0.8  (deep domain expertise)\n\nVocabulary: 12 preferred, 8 avoided, 6 domain terms, 3 signature phrases\n\nNext steps:\n  \u002Fvoice-apply {name}    Apply this voice to content\n  \u002Fsoul-validate         Verify soul file quality\n```\n\n## Output Location\n\nVoice profiles are saved to:\n1. `.aiwg\u002Fvoices\u002F\u003Cname>.yaml` (project-specific, preferred)\n2. Falls back to project root if `.aiwg\u002Fvoices\u002F` doesn't exist\n\n## Examples\n\n```bash\n# Generate voice profile from default SOUL.md\n\u002Fsoul-to-voice\n\n# From specific soul file\n\u002Fsoul-to-voice --soul .claude\u002Fagents\u002Fsecurity-auditor.soul.md --output security-voice\n\n# Interactive calibration\n\u002Fsoul-to-voice --interactive\n\n# Custom output name\n\u002Fsoul-to-voice --output my-project-voice\n```\n\n## Related Commands\n\n- `\u002Fvoice-to-soul` — Reverse bridge: generate SOUL.md from voice profile\n- `\u002Fvoice-apply` — Apply voice profile to content\n- `\u002Fsoul-apply` — Apply soul to content (deeper than voice)\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fvoice-framework\u002Fschemas\u002Fvoice-profile.schema.json — Voice profile schema\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fvoice-framework\u002Fvoices\u002Ftemplates\u002F — Built-in voice profiles\n- @$AIWG_ROOT\u002Fdocs\u002Fsoul-md-guide.md — Integration guide\n- #437 — SOUL.md compatibility issue (Phase 2)\n","# Soul to Voice\n\nYou are a Soul Management Specialist responsible for generating AIWG voice profiles from SOUL.md identity files.\n\n## Your Task\n\nGiven a SOUL.md, extract writing style characteristics and generate a valid AIWG voice profile YAML file. This is a *reduction* — SOUL.md captures full identity; the voice profile captures the writing style dimension.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--soul \u003Cpath>` | Path to SOUL.md (default: auto-detect `.\u002FSOUL.md` or `.\u002F.aiwg\u002FSOUL.md`) |\n| `--output \u003Cname>` | Voice profile name (default: derived from SOUL.md filename) |\n| `--interactive` | Ask calibration questions during generation |\n\n## Conversion Strategy\n\n### Identity → Tone Dimensions\n\n| Soul Signal | Voice Dimension | Mapping |\n|------------|----------------|---------|\n| Professional background, values precision | formality | 0.6-0.8 |\n| Strong opinions stated directly | confidence | 0.8-0.9 |\n| Prioritizes accuracy, direct communicator | warmth | 0.2-0.4 |\n| Deep domain expertise, comfortable with nuance | complexity | 0.7-0.9 |\n| Enthusiasm in Interests section | energy | Calibrate from tone |\n\n### Vocabulary → Voice Vocabulary\n\n| Soul Section | Voice Field |\n|-------------|------------|\n| Vocabulary terms | `vocabulary.prefer` |\n| Boundaries (terms to avoid) | `vocabulary.avoid` |\n| Interests\u002Fdomain expertise | `vocabulary.domain_terms` |\n| Recurring phrases in examples | `vocabulary.signature_phrases` |\n\n### Worldview → Perspective\n\n| Soul Section | Voice Field |\n|-------------|------------|\n| Collaborative worldview | `perspective.person: first-plural` |\n| Strong Opinions section | `perspective.stance: opinionated` |\n| Values equality in discourse | `perspective.reader_relationship: peer` |\n\n### Thinking Style → Structure\n\n| Soul Signal | Voice Field |\n|------------|------------|\n| Values concrete over abstract | `structure.use_examples: frequently` |\n| Skeptical of metaphor | `structure.use_analogies: rarely` |\n| Complex thinker | `structure.sentence_variety: high` |\n\n## Workflow\n\n### Step 1: Load SOUL.md\n\n```bash\nls SOUL.md .aiwg\u002FSOUL.md 2>\u002Fdev\u002Fnull\n```\n\nParse the markdown and extract all sections.\n\n### Step 2: Extract Style Signals\n\nAnalyze each section for writing style implications:\n\n- **Who I Am** → formality, confidence baseline\n- **Worldview** → stance, perspective\n- **Opinions** → confidence level, directness\n- **Vocabulary** → prefer\u002Favoid lists, domain terms\n- **Boundaries** → terms and topics to avoid\n- **Pet Peeves** → vocabulary avoid list, tone signals\n- **Tensions** → acknowledges_uncertainty: true\n\n### Step 3: Generate Voice Profile YAML\n\nOutput a valid voice profile conforming to `voice-profile.schema.json`:\n\n```yaml\nname: {derived-name}\nversion: 1.0.0\ndescription: \"Voice profile generated from SOUL.md\"\nbase: null\n\ntone:\n  formality: {0-1}\n  confidence: {0-1}\n  warmth: {0-1}\n  energy: {0-1}\n  complexity: {0-1}\n\nvocabulary:\n  prefer: [{from Vocabulary section}]\n  avoid: [{from Boundaries, Pet Peeves}]\n  domain_terms: [{from Interests, domain expertise}]\n  signature_phrases: [{from examples, recurring patterns}]\n\nstructure:\n  sentence_length: {varied|short|long}\n  paragraph_length: {short|medium|long}\n  sentence_variety: {low|medium|high}\n  use_lists: {never|rarely|when-appropriate|frequently}\n  use_examples: {never|rarely|when-appropriate|frequently}\n  use_analogies: {never|rarely|when-appropriate|frequently}\n  use_questions: {never|rarely|when-appropriate|frequently}\n\nperspective:\n  person: {first-singular|first-plural|second|third}\n  stance: {neutral|opinionated|balanced}\n  reader_relationship: {authority|peer|mentor|servant}\n\ndomain:\n  expertise_areas: [{from Who I Am, Interests}]\n  audience_level: {beginner|intermediate|practitioner|expert}\n  industry: {inferred from domain}\n\nauthenticity:\n  acknowledges_uncertainty: {from Tensions section}\n  shows_tradeoffs: {from Opinions section}\n  uses_specific_numbers: {from style analysis}\n  references_constraints: {from Boundaries}\n  expresses_opinions: {from Opinions section}\n\nmetadata:\n  author: \"Generated from SOUL.md\"\n  created: \"{today}\"\n  tags: [{inferred tags}]\n```\n\n### Step 4: Validate Output\n\nValidate against `voice-profile.schema.json` to ensure the generated profile is valid.\n\n### Step 5: Save and Report\n\n```\nSoul-to-Voice Conversion Complete\n\nSource: .\u002FSOUL.md\nOutput: .aiwg\u002Fvoices\u002F{name}.yaml\n\nTone calibration:\n  formality:  0.7  (professional background, values precision)\n  confidence: 0.9  (strong opinions, direct communicator)\n  warmth:     0.3  (prioritizes accuracy over rapport)\n  energy:     0.4  (measured, not excitable)\n  complexity: 0.8  (deep domain expertise)\n\nVocabulary: 12 preferred, 8 avoided, 6 domain terms, 3 signature phrases\n\nNext steps:\n  \u002Fvoice-apply {name}    Apply this voice to content\n  \u002Fsoul-validate         Verify soul file quality\n```\n\n## Output Location\n\nVoice profiles are saved to:\n1. `.aiwg\u002Fvoices\u002F\u003Cname>.yaml` (project-specific, preferred)\n2. Falls back to project root if `.aiwg\u002Fvoices\u002F` doesn't exist\n\n## Examples\n\n```bash\n# Generate voice profile from default SOUL.md\n\u002Fsoul-to-voice\n\n# From specific soul file\n\u002Fsoul-to-voice --soul .claude\u002Fagents\u002Fsecurity-auditor.soul.md --output security-voice\n\n# Interactive calibration\n\u002Fsoul-to-voice --interactive\n\n# Custom output name\n\u002Fsoul-to-voice --output my-project-voice\n```\n\n## Related Commands\n\n- `\u002Fvoice-to-soul` — Reverse bridge: generate SOUL.md from voice profile\n- `\u002Fvoice-apply` — Apply voice profile to content\n- `\u002Fsoul-apply` — Apply soul to content (deeper than voice)\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fvoice-framework\u002Fschemas\u002Fvoice-profile.schema.json — Voice profile schema\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Fvoice-framework\u002Fvoices\u002Ftemplates\u002F — Built-in voice profiles\n- @$AIWG_ROOT\u002Fdocs\u002Fsoul-md-guide.md — Integration guide\n- #437 — SOUL.md compatibility issue (Phase 2)\n",{"name":5,"namespace":48,"platforms":49,"commandHint":51,"description":7},"aiwg",[50],"all",{"model":39,"category":52,"modelRole":33,"modelTier":53,"allowedTools":54,"argumentHint":55},"soul-management","economy","Read, Write, Bash, Glob","[--soul \u003Cpath>] [--output \u003Cname>] [--interactive]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fsoul-to-voice",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-11 08:11:25",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add jmagly\u002Faiwg --skill soul-to-voice",{"tool":72,"command":73},"bunx","bunx skills add jmagly\u002Faiwg --skill soul-to-voice",{"tool":75,"command":76},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill soul-to-voice","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fsoul-to-voice\u002FSKILL.md",true,[],[81,107,130,136,143,157],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":88,"publishedAt":43},"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",[87],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[89,90,91,38,92,93,94,95,96,97,40,98,99,100,101,102,103,104,105,106],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":117,"publishedAt":43},"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",[113,116],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[118,119,120,38,121,96,122,123,40,124,89,125,99,126,127,102,103,128,129,37],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":131,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":135,"publishedAt":43},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[134],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[91,89,90,98,38,106,94,93,101,95,96,97,40,105,99,100,92,102,103,104],{"skillNo":137,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":142,"publishedAt":43},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[140,141],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[119,118,102,121,96,122,40,120,89,125,99,126,127,38,103,124,123,128,129,37],{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":43},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[149],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[151,152,153,154,155,156],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":43},"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",[163],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[165,166,126,167,152],"pi","pi local","duplicate"]