[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DC4NR5TBCTVHMQEZZ0EKAS":3,"skill-same:01M6DC4NR5TBCTVHMQEZZ0EKAS":61},{"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":18,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":14,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6DC4NR5TBCTVHMQEZZ0EKAS","voice-blend",null,"Combine multiple voice profiles with weighted mixing to create hybrid voices. Use when mixing two or more styles. NOT for one (use voice-apply).","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvoice-blend\u002FSKILL.md",[],[19,20,21,22,23,24],"voice","voice blend","github","create","https","use","2026-11-10 10:12:30",false,"---\nname: voice-blend\ndescription: Combine multiple voice profiles with weighted mixing to create hybrid voices. Use when mixing two or more styles. NOT for one (use voice-apply).\nlicense: MIT\nmetadata:\n  version: 1.0.0\n  platforms:\n  - all\n  source: https:\u002F\u002Fgithub.com\u002Fangelarose210\u002Fghostwriter\n  upstream_author: angelarose210\n---\n\n# voice-blend\n\nCombine multiple voice profiles with weighted mixing to create hybrid voices.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"70\u002F30 [voice A]\u002F[voice B]\" -> ratio-based voice blending\n- \"blend voices\" -> voice mixing\n\n## Behavior\n\nWhen triggered, this skill:\n\n1. **Loads source voice profiles** from:\n   - Built-in templates (`voices\u002Ftemplates\u002F`)\n   - Project voices (`.aiwg\u002Fvoices\u002F`)\n   - User voices (`~\u002F.config\u002Faiwg\u002Fvoices\u002F`)\n\n2. **Parses blend specification**:\n   - Equal blend: \"blend X and Y\" -> 50%\u002F50%\n   - Weighted blend: \"70% X, 30% Y\" -> explicit weights\n   - Multi-voice: \"blend X, Y, and Z\" -> equal thirds\n\n3. **Interpolates dimensions**:\n   - Weighted average of tone values (formality, confidence, etc.)\n   - Merged vocabulary lists (union of prefer, intersection of avoid)\n   - Dominant structure patterns from highest-weighted voice\n\n4. **Generates hybrid profile** with clear lineage tracking\n\n## Usage Examples\n\n### Equal Blend\n```\nUser: \"Blend technical-authority and friendly-explainer\"\n\nResult: 50\u002F50 blend\n- formality: 0.45 (avg of 0.7 and 0.2)\n- confidence: 0.8 (avg of 0.9 and 0.7)\n- warmth: 0.55 (avg of 0.3 and 0.8)\n- vocabulary: merged from both\n```\n\n### Weighted Blend\n```\nUser: \"80% executive-brief, 20% casual-conversational\"\n\nResult: Weighted blend\n- formality: 0.7 (0.8*0.85 + 0.2*0.15)\n- confidence: 0.86 (0.8*0.9 + 0.2*0.6)\n- Dominant structure from executive-brief\n```\n\n### Multi-Voice Blend\n```\nUser: \"Combine technical-authority, friendly-explainer, and executive-brief\"\n\nResult: Equal thirds (33.3% each)\n- All dimensions averaged across three profiles\n- Vocabulary merged from all three\n```\n\n## Blend Algorithm\n\n### Dimension Interpolation\n\nFor each tone dimension:\n```\nblended_value = sum(weight_i * value_i) \u002F sum(weight_i)\n```\n\n### Vocabulary Merging\n\n- **prefer**: Union of all prefer lists, deduplicated\n- **avoid**: Intersection of all avoid lists (only avoid if ALL sources avoid)\n- **signature_phrases**: Top N from each source (weighted by blend ratio)\n\n### Structure Resolution\n\nStructure settings use the **dominant voice** (highest weight):\n- sentence_length: from dominant\n- paragraph_length: from dominant\n- use_lists: from dominant\n- use_examples: averaged (rarely=0, when-appropriate=1, frequently=2)\n\n### Perspective Handling\n\n- **person**: Majority vote (tie goes to second person)\n- **voice**: Active unless all sources use passive\n- **tense**: Present unless all sources use past\n\n## Output Format\n\n```yaml\nname: technical-friendly-blend\nversion: 1.0.0\ndescription: Blended voice profile\nblend_sources:\n  - name: technical-authority\n    weight: 0.7\n  - name: friendly-explainer\n    weight: 0.3\ntone:\n  formality: 0.55  # interpolated\n  confidence: 0.84 # interpolated\n  warmth: 0.45     # interpolated\n  energy: 0.49     # interpolated\n  complexity: 0.65 # interpolated\nvocabulary:\n  prefer:\n    - precise technical terminology  # from technical\n    - concrete examples              # from friendly\n  avoid:\n    - marketing superlatives         # common to both\n  signature_phrases:\n    - \"The system handles...\"        # from technical (70%)\n    - \"Think of it like...\"          # from friendly (30%)\nstructure:\n  sentence_length: medium            # from dominant (technical)\n  use_examples: frequently           # averaged\n```\n\n## Output Location\n\nBlended profiles are saved to:\n1. `.aiwg\u002Fvoices\u002F{name}.yaml` (default)\n2. Custom path with `--output` flag\n3. `~\u002F.config\u002Faiwg\u002Fvoices\u002F` with `--global` flag\n\n## Integration\n\n- **Input**: Takes profiles created by `voice-create` or built-in templates\n- **Output**: Creates profiles usable by `voice-apply`\n- **Chain**: `voice-analyze` -> `voice-blend` -> `voice-apply`\n\n## CLI Usage\n\n```bash\n# Equal blend of two voices\npython voice_blender.py --voices \"technical-authority,friendly-explainer\"\n\n# Weighted blend\npython voice_blender.py --voices \"technical-authority:0.7,friendly-explainer:0.3\"\n\n# Custom output name\npython voice_blender.py --voices \"...\" --name my-hybrid-voice\n\n# Output to specific directory\npython voice_blender.py --voices \"...\" --output .aiwg\u002Fvoices\u002F\n\n# JSON output for inspection\npython voice_blender.py --voices \"...\" --json\n```\n\n## AI Tells Handling in Blends\n\nWhen blending profiles, the AI tells avoidance rules are treated as hard constraints, not blendable dimensions:\n\n- **vocabulary.avoid**: The union of all source profiles' avoid lists is used, plus the full banned AI vocabulary list from `..\u002Fvoice-apply\u002Freferences\u002Fai-tells.md` is always included. AI tells are never averaged away.\n- **anti_ai_tells**: If any source profile includes anti-AI-tells rules, the strictest setting wins. If no source profile has them, they are added automatically from the tells reference.\n- **punctuation**: Em dash avoidance is always enforced in blended output regardless of source profile settings.\n- **rhythm**: Sentence length variance and paragraph length variance are always set to \"high\" in blended profiles. Uniform rhythms are an AI tell that blending can accidentally amplify.\n\nThe blended profile always includes the full `anti_ai_tells` block from voice-create's output format.\n\n## Error Handling\n\n- **Profile not found**: Lists available profiles and suggests closest match\n- **Invalid weights**: Normalizes weights to sum to 1.0\n- **Incompatible profiles**: Warns but proceeds with best-effort blend\n\n## References\n\n- AI Writing Tells: `..\u002Fvoice-apply\u002Freferences\u002Fai-tells.md`\n","# voice-blend\n\nCombine multiple voice profiles with weighted mixing to create hybrid voices.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"70\u002F30 [voice A]\u002F[voice B]\" -> ratio-based voice blending\n- \"blend voices\" -> voice mixing\n\n## Behavior\n\nWhen triggered, this skill:\n\n1. **Loads source voice profiles** from:\n   - Built-in templates (`voices\u002Ftemplates\u002F`)\n   - Project voices (`.aiwg\u002Fvoices\u002F`)\n   - User voices (`~\u002F.config\u002Faiwg\u002Fvoices\u002F`)\n\n2. **Parses blend specification**:\n   - Equal blend: \"blend X and Y\" -> 50%\u002F50%\n   - Weighted blend: \"70% X, 30% Y\" -> explicit weights\n   - Multi-voice: \"blend X, Y, and Z\" -> equal thirds\n\n3. **Interpolates dimensions**:\n   - Weighted average of tone values (formality, confidence, etc.)\n   - Merged vocabulary lists (union of prefer, intersection of avoid)\n   - Dominant structure patterns from highest-weighted voice\n\n4. **Generates hybrid profile** with clear lineage tracking\n\n## Usage Examples\n\n### Equal Blend\n```\nUser: \"Blend technical-authority and friendly-explainer\"\n\nResult: 50\u002F50 blend\n- formality: 0.45 (avg of 0.7 and 0.2)\n- confidence: 0.8 (avg of 0.9 and 0.7)\n- warmth: 0.55 (avg of 0.3 and 0.8)\n- vocabulary: merged from both\n```\n\n### Weighted Blend\n```\nUser: \"80% executive-brief, 20% casual-conversational\"\n\nResult: Weighted blend\n- formality: 0.7 (0.8*0.85 + 0.2*0.15)\n- confidence: 0.86 (0.8*0.9 + 0.2*0.6)\n- Dominant structure from executive-brief\n```\n\n### Multi-Voice Blend\n```\nUser: \"Combine technical-authority, friendly-explainer, and executive-brief\"\n\nResult: Equal thirds (33.3% each)\n- All dimensions averaged across three profiles\n- Vocabulary merged from all three\n```\n\n## Blend Algorithm\n\n### Dimension Interpolation\n\nFor each tone dimension:\n```\nblended_value = sum(weight_i * value_i) \u002F sum(weight_i)\n```\n\n### Vocabulary Merging\n\n- **prefer**: Union of all prefer lists, deduplicated\n- **avoid**: Intersection of all avoid lists (only avoid if ALL sources avoid)\n- **signature_phrases**: Top N from each source (weighted by blend ratio)\n\n### Structure Resolution\n\nStructure settings use the **dominant voice** (highest weight):\n- sentence_length: from dominant\n- paragraph_length: from dominant\n- use_lists: from dominant\n- use_examples: averaged (rarely=0, when-appropriate=1, frequently=2)\n\n### Perspective Handling\n\n- **person**: Majority vote (tie goes to second person)\n- **voice**: Active unless all sources use passive\n- **tense**: Present unless all sources use past\n\n## Output Format\n\n```yaml\nname: technical-friendly-blend\nversion: 1.0.0\ndescription: Blended voice profile\nblend_sources:\n  - name: technical-authority\n    weight: 0.7\n  - name: friendly-explainer\n    weight: 0.3\ntone:\n  formality: 0.55  # interpolated\n  confidence: 0.84 # interpolated\n  warmth: 0.45     # interpolated\n  energy: 0.49     # interpolated\n  complexity: 0.65 # interpolated\nvocabulary:\n  prefer:\n    - precise technical terminology  # from technical\n    - concrete examples              # from friendly\n  avoid:\n    - marketing superlatives         # common to both\n  signature_phrases:\n    - \"The system handles...\"        # from technical (70%)\n    - \"Think of it like...\"          # from friendly (30%)\nstructure:\n  sentence_length: medium            # from dominant (technical)\n  use_examples: frequently           # averaged\n```\n\n## Output Location\n\nBlended profiles are saved to:\n1. `.aiwg\u002Fvoices\u002F{name}.yaml` (default)\n2. Custom path with `--output` flag\n3. `~\u002F.config\u002Faiwg\u002Fvoices\u002F` with `--global` flag\n\n## Integration\n\n- **Input**: Takes profiles created by `voice-create` or built-in templates\n- **Output**: Creates profiles usable by `voice-apply`\n- **Chain**: `voice-analyze` -> `voice-blend` -> `voice-apply`\n\n## CLI Usage\n\n```bash\n# Equal blend of two voices\npython voice_blender.py --voices \"technical-authority,friendly-explainer\"\n\n# Weighted blend\npython voice_blender.py --voices \"technical-authority:0.7,friendly-explainer:0.3\"\n\n# Custom output name\npython voice_blender.py --voices \"...\" --name my-hybrid-voice\n\n# Output to specific directory\npython voice_blender.py --voices \"...\" --output .aiwg\u002Fvoices\u002F\n\n# JSON output for inspection\npython voice_blender.py --voices \"...\" --json\n```\n\n## AI Tells Handling in Blends\n\nWhen blending profiles, the AI tells avoidance rules are treated as hard constraints, not blendable dimensions:\n\n- **vocabulary.avoid**: The union of all source profiles' avoid lists is used, plus the full banned AI vocabulary list from `..\u002Fvoice-apply\u002Freferences\u002Fai-tells.md` is always included. AI tells are never averaged away.\n- **anti_ai_tells**: If any source profile includes anti-AI-tells rules, the strictest setting wins. If no source profile has them, they are added automatically from the tells reference.\n- **punctuation**: Em dash avoidance is always enforced in blended output regardless of source profile settings.\n- **rhythm**: Sentence length variance and paragraph length variance are always set to \"high\" in blended profiles. Uniform rhythms are an AI tell that blending can accidentally amplify.\n\nThe blended profile always includes the full `anti_ai_tells` block from voice-create's output format.\n\n## Error Handling\n\n- **Profile not found**: Lists available profiles and suggests closest match\n- **Invalid weights**: Normalizes weights to sum to 1.0\n- **Incompatible profiles**: Warns but proceeds with best-effort blend\n\n## References\n\n- AI Writing Tells: `..\u002Fvoice-apply\u002Freferences\u002Fai-tells.md`\n",{"name":5,"license":15,"metadata":30,"description":7},{"source":31,"version":32,"platforms":33,"upstream_author":35},"https:\u002F\u002Fgithub.com\u002Fangelarose210\u002Fghostwriter","1.0.0",[34],"all","angelarose210","main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fvoice-blend","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill voice-blend",{"tool":48,"command":49},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill voice-blend",{"tool":51,"command":52},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill voice-blend","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvoice-blend\u002FSKILL.md",true,[56],{"path":57,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"LICENSE","许可证",1056,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvoice-blend\u002FLICENSE",[62,83,114,141,155,171],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":25},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[69,70,71,72,73,74,75,76,77,24,78,79,80,81,82],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":25},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[95,96,97,98,99,100,101,102,103,104,105,106,107,108,24,109,110,111,112,113],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":126,"publishedAt":25},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[120,123],{"categoryNo":121,"categoryName":122,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":124,"categoryName":125,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000008","测试与质量",[127,128,129,130,131,132,133,134,135,136,96,137,138,139,140],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":25},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[143,148,149,150,151,152,153,154],"setup","report","project","installation","project setup","issues","state",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":162,"publishedAt":25},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[161],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[157,163,74,164,165,166,24,167,168,169,170],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":172,"name":148,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":25},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[148,150,111,177,152,178],"files","interactive"]