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, junie, 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)
@@ -201,20 +201,22 @@ agent: $basename
201201 }
202202}
203203
204- # Create Kimi Code skills in .kimi/skills/< name>/ SKILL.md format.
205- # Kimi CLI discovers skills as directories containing a SKILL.md file,
206- # invoked with /skill:< name> (e.g. /skill: speckit.specify ).
207- function New-KimiSkills {
204+ # Create skills in <skills_dir>\< name>\ SKILL.md format.
205+ # Most agents use hyphenated names (e.g. speckit-plan); Kimi is the
206+ # current dotted- name exception (e.g. speckit.plan ).
207+ function New-Skills {
208208 param (
209209 [string ]$SkillsDir ,
210- [string ]$ScriptVariant
210+ [string ]$ScriptVariant ,
211+ [string ]$AgentName ,
212+ [string ]$Separator = ' -'
211213 )
212214
213215 $templates = Get-ChildItem - Path " templates/commands/*.md" - File - ErrorAction SilentlyContinue
214216
215217 foreach ($template in $templates ) {
216218 $name = [System.IO.Path ]::GetFileNameWithoutExtension($template.Name )
217- $skillName = " speckit. $name "
219+ $skillName = " speckit${Separator} $name"
218220 $skillDir = Join-Path $SkillsDir $skillName
219221 New-Item - ItemType Directory - Force - Path $skillDir | Out-Null
220222
@@ -267,7 +269,7 @@ function New-KimiSkills {
267269
268270 $body = $outputLines -join " `n "
269271 $body = $body -replace ' \{ARGS\}' , ' $ARGUMENTS'
270- $body = $body -replace ' __AGENT__' , ' kimi '
272+ $body = $body -replace ' __AGENT__' , $AgentName
271273 $body = Rewrite- Paths - Content $body
272274
273275 # Strip existing frontmatter, keep only body
@@ -395,9 +397,14 @@ function Build-Variant {
395397 $cmdDir = Join-Path $baseDir " .windsurf/workflows"
396398 Generate- Commands - Agent ' windsurf' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
397399 }
400+ ' junie' {
401+ $cmdDir = Join-Path $baseDir " .junie/commands"
402+ Generate- Commands - Agent ' junie' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
403+ }
398404 ' codex' {
399- $cmdDir = Join-Path $baseDir " .codex/prompts"
400- Generate- Commands - Agent ' codex' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
405+ $skillsDir = Join-Path $baseDir " .agents/skills"
406+ New-Item - ItemType Directory - Force - Path $skillsDir | Out-Null
407+ New-Skills - SkillsDir $skillsDir - ScriptVariant $Script - AgentName ' codex' - Separator ' -'
401408 }
402409 ' kilocode' {
403410 $cmdDir = Join-Path $baseDir " .kilocode/workflows"
@@ -452,7 +459,7 @@ function Build-Variant {
452459 ' kimi' {
453460 $skillsDir = Join-Path $baseDir " .kimi/skills"
454461 New-Item - ItemType Directory - Force - Path $skillsDir | Out-Null
455- New-KimiSkills - SkillsDir $skillsDir - ScriptVariant $Script
462+ New-Skills - SkillsDir $skillsDir - ScriptVariant $Script - AgentName ' kimi ' - Separator ' . '
456463 }
457464 ' trae' {
458465 $rulesDir = Join-Path $baseDir " .trae/rules"
@@ -463,6 +470,10 @@ function Build-Variant {
463470 $cmdDir = Join-Path $baseDir " .pi/prompts"
464471 Generate- Commands - Agent ' pi' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
465472 }
473+ ' iflow' {
474+ $cmdDir = Join-Path $baseDir " .iflow/commands"
475+ Generate- Commands - Agent ' iflow' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
476+ }
466477 ' generic' {
467478 $cmdDir = Join-Path $baseDir " .speckit/commands"
468479 Generate- Commands - Agent ' generic' - Extension ' md' - ArgFormat ' $ARGUMENTS' - OutputDir $cmdDir - ScriptVariant $Script
@@ -479,7 +490,7 @@ function Build-Variant {
479490}
480491
481492# Define all agents and scripts
482- $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' )
493+ $AllAgents = @ (' claude' , ' gemini' , ' copilot' , ' cursor-agent' , ' qwen' , ' opencode' , ' windsurf' , ' junie ' , ' codex' , ' kilocode' , ' auggie' , ' roo' , ' codebuddy' , ' amp' , ' kiro-cli' , ' bob' , ' qodercli' , ' shai' , ' tabnine' , ' agy' , ' vibe' , ' kimi' , ' trae' , ' pi' , ' iflow ' , ' generic' )
483494$AllScripts = @ (' sh' , ' ps' )
484495
485496function Normalize-List {
0 commit comments