1414
1515. PARAMETER Agents
1616 Comma or space separated subset of agents to build (default: all)
17- Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, codex, kilocode, auggie, roo, codebuddy, amp, kiro-cli, bob, qodercli, shai, tabnine, agy, vibe, kimi, trae, pi, generic
17+ Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, codex, kilocode, auggie, roo, codebuddy, amp, kiro-cli, bob, qodercli, shai, tabnine, agy, vibe, kimi, trae, pi, iflow, generic
1818
1919. PARAMETER Scripts
2020 Comma or space separated subset of script types to build (default: both)
@@ -204,20 +204,22 @@ agent: $basename
204204 }
205205}
206206
207- # Create Kimi Code skills in .kimi/skills/< name>/ SKILL.md format.
208- # Kimi CLI discovers skills as directories containing a SKILL.md file,
209- # invoked with /skill:< name> (e.g. /skill: speckit.specify ).
210- function New-KimiSkills {
207+ # Create skills in <skills_dir>\< name>\ SKILL.md format.
208+ # Most agents use hyphenated names (e.g. speckit-plan); Kimi is the
209+ # current dotted- name exception (e.g. speckit.plan ).
210+ function New-Skills {
211211 param (
212212 [string ]$SkillsDir ,
213- [string ]$ScriptVariant
213+ [string ]$ScriptVariant ,
214+ [string ]$AgentName ,
215+ [string ]$Separator = ' -'
214216 )
215217
216218 $templates = Get-ChildItem - Path " templates/commands/*.md" - File - ErrorAction SilentlyContinue
217219
218220 foreach ($template in $templates ) {
219221 $name = [System.IO.Path ]::GetFileNameWithoutExtension($template.Name )
220- $skillName = " speckit. $name "
222+ $skillName = " speckit${Separator} $name"
221223 $skillDir = Join-Path $SkillsDir $skillName
222224 New-Item - ItemType Directory - Force - Path $skillDir | Out-Null
223225
@@ -270,7 +272,7 @@ function New-KimiSkills {
270272
271273 $body = $outputLines -join " `n "
272274 $body = $body -replace ' \{ARGS\}' , ' $ARGUMENTS'
273- $body = $body -replace ' __AGENT__' , ' kimi '
275+ $body = $body -replace ' __AGENT__' , $AgentName
274276 $body = Rewrite- Paths - Content $body
275277
276278 # Strip existing frontmatter, keep only body
@@ -399,8 +401,9 @@ function Build-Variant {
399401 Generate- Commands - Agent ' windsurf' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
400402 }
401403 ' codex' {
402- $cmdDir = Join-Path $baseDir " .codex/prompts"
403- Generate- Commands - Agent ' codex' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
404+ $skillsDir = Join-Path $baseDir " .agents/skills"
405+ New-Item - ItemType Directory - Force - Path $skillsDir | Out-Null
406+ New-Skills - SkillsDir $skillsDir - ScriptVariant $Script - AgentName ' codex' - Separator ' -'
404407 }
405408 ' kilocode' {
406409 $cmdDir = Join-Path $baseDir " .kilocode/workflows"
@@ -455,7 +458,7 @@ function Build-Variant {
455458 ' kimi' {
456459 $skillsDir = Join-Path $baseDir " .kimi/skills"
457460 New-Item - ItemType Directory - Force - Path $skillsDir | Out-Null
458- New-KimiSkills - SkillsDir $skillsDir - ScriptVariant $Script
461+ New-Skills - SkillsDir $skillsDir - ScriptVariant $Script - AgentName ' kimi ' - Separator ' . '
459462 }
460463 ' trae' {
461464 $rulesDir = Join-Path $baseDir " .trae/rules"
@@ -466,6 +469,10 @@ function Build-Variant {
466469 $cmdDir = Join-Path $baseDir " .pi/prompts"
467470 Generate- Commands - Agent ' pi' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
468471 }
472+ ' iflow' {
473+ $cmdDir = Join-Path $baseDir " .iflow/commands"
474+ Generate- Commands - Agent ' iflow' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
475+ }
469476 ' generic' {
470477 $cmdDir = Join-Path $baseDir " .speckit/commands"
471478 Generate- Commands - Agent ' generic' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
@@ -482,7 +489,7 @@ function Build-Variant {
482489}
483490
484491# Define all agents and scripts
485- $AllAgents = @ (' claude' , ' gemini' , ' copilot' , ' cursor-agent' , ' qwen' , ' opencode' , ' windsurf' , ' codex' , ' kilocode' , ' auggie' , ' roo' , ' codebuddy' , ' amp' , ' kiro-cli' , ' bob' , ' qodercli' , ' shai' , ' tabnine' , ' agy' , ' vibe' , ' kimi' , ' trae' , ' pi' , ' generic' )
492+ $AllAgents = @ (' claude' , ' gemini' , ' copilot' , ' cursor-agent' , ' qwen' , ' opencode' , ' windsurf' , ' codex' , ' kilocode' , ' auggie' , ' roo' , ' codebuddy' , ' amp' , ' kiro-cli' , ' bob' , ' qodercli' , ' shai' , ' tabnine' , ' agy' , ' vibe' , ' kimi' , ' trae' , ' pi' , ' iflow ' , ' generic' )
486493$AllScripts = @ (' sh' , ' ps' )
487494
488495function Normalize-List {
0 commit comments