@conductor-oss/conductor-skills 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/VERSION +1 -1
- package/install.ps1 +33 -24
- package/install.sh +28 -15
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"name": "conductor",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"description": "Create, run, monitor, and manage Conductor workflows and tasks",
|
|
15
|
-
"version": "1.4.
|
|
15
|
+
"version": "1.4.3",
|
|
16
16
|
"category": "devops",
|
|
17
17
|
"tags": ["conductor", "workflow", "orchestration", "microservices"]
|
|
18
18
|
}
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.4.
|
|
1
|
+
1.4.3
|
package/install.ps1
CHANGED
|
@@ -18,11 +18,10 @@ param(
|
|
|
18
18
|
|
|
19
19
|
$ErrorActionPreference = "Stop"
|
|
20
20
|
|
|
21
|
-
$SCRIPT_VERSION = "1.4.
|
|
22
|
-
# Per-file fetches
|
|
23
|
-
#
|
|
24
|
-
$REPO_BASE = "https://raw.githubusercontent.com/conductor-oss/conductor-skills/
|
|
25
|
-
$REPO_MAIN = "https://raw.githubusercontent.com/conductor-oss/conductor-skills/main"
|
|
21
|
+
$SCRIPT_VERSION = "1.4.3"
|
|
22
|
+
# Per-file fetches and the upgrade-check both read from `main`. Releases are
|
|
23
|
+
# rolled by bumping VERSION on main, not by tagging.
|
|
24
|
+
$REPO_BASE = "https://raw.githubusercontent.com/conductor-oss/conductor-skills/main"
|
|
26
25
|
|
|
27
26
|
# When set, skip the network fetch and copy from this directory instead.
|
|
28
27
|
# The npm package sets this so the bundled files are used.
|
|
@@ -185,7 +184,7 @@ function Fetch-RemoteVersion {
|
|
|
185
184
|
return (Get-Content (Join-Path $LOCAL_DIR "VERSION") -Raw).Trim()
|
|
186
185
|
}
|
|
187
186
|
try {
|
|
188
|
-
$ver = (Invoke-WebRequest -Uri "$
|
|
187
|
+
$ver = (Invoke-WebRequest -Uri "$REPO_BASE/VERSION" -UseBasicParsing -ErrorAction Stop).Content.Trim()
|
|
189
188
|
return $ver
|
|
190
189
|
} catch { return "" }
|
|
191
190
|
}
|
|
@@ -355,10 +354,11 @@ function Install-ToFile {
|
|
|
355
354
|
if ($Prefix) {
|
|
356
355
|
$tmpFile = [System.IO.Path]::GetTempFileName()
|
|
357
356
|
($Prefix + (Get-Content $Assembled -Raw)) | Set-Content -Path $tmpFile -NoNewline
|
|
358
|
-
Safe-Write -Target $Target -Source $tmpFile -ForceWrite $ForceWrite
|
|
357
|
+
$result = Safe-Write -Target $Target -Source $tmpFile -ForceWrite $ForceWrite
|
|
359
358
|
Remove-Item $tmpFile -ErrorAction SilentlyContinue
|
|
359
|
+
return $result
|
|
360
360
|
} else {
|
|
361
|
-
Safe-Write -Target $Target -Source $Assembled -ForceWrite $ForceWrite
|
|
361
|
+
return Safe-Write -Target $Target -Source $Assembled -ForceWrite $ForceWrite
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
|
|
@@ -410,29 +410,33 @@ function Install-ForAgent {
|
|
|
410
410
|
$installDir = $env:USERPROFILE
|
|
411
411
|
if ($AgentName -eq "aider") {
|
|
412
412
|
Install-AiderToDir -SkillDir (Join-Path $installDir ".conductor-skills") -TmpDir $TmpDir -Config (Join-Path $installDir ".aider.conf.yml") -ReadPrefix "$installDir/.conductor-skills/"
|
|
413
|
+
return $true
|
|
413
414
|
} else {
|
|
414
415
|
$targetPath = Get-GlobalPath -AgentName $AgentName
|
|
415
|
-
Install-ToFile -Target $targetPath -Assembled $Assembled -ForceWrite $ForceWrite
|
|
416
|
+
return Install-ToFile -Target $targetPath -Assembled $Assembled -ForceWrite $ForceWrite
|
|
416
417
|
}
|
|
417
418
|
} else {
|
|
418
419
|
switch ($AgentName) {
|
|
419
|
-
"codex" { Install-ToFile -Target (Join-Path $ProjDir "AGENTS.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
420
|
-
"gemini" { Install-ToFile -Target (Join-Path $ProjDir "GEMINI.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
420
|
+
"codex" { return Install-ToFile -Target (Join-Path $ProjDir "AGENTS.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
421
|
+
"gemini" { return Install-ToFile -Target (Join-Path $ProjDir "GEMINI.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
421
422
|
"cursor" {
|
|
422
423
|
$frontmatter = "---`ndescription: Conductor workflow orchestration - create, run, monitor, and manage workflows`nglobs: `"**/*`"`nalwaysApply: true`n---`n`n"
|
|
423
|
-
Install-ToFile -Target (Join-Path $ProjDir ".cursor\rules\conductor.mdc") -Assembled $Assembled -ForceWrite $ForceWrite -Prefix $frontmatter
|
|
424
|
+
return Install-ToFile -Target (Join-Path $ProjDir ".cursor\rules\conductor.mdc") -Assembled $Assembled -ForceWrite $ForceWrite -Prefix $frontmatter
|
|
424
425
|
}
|
|
425
|
-
"windsurf" { Install-ToFile -Target (Join-Path $ProjDir ".windsurfrules") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
426
|
-
"cline" { Install-ToFile -Target (Join-Path $ProjDir ".clinerules") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
427
|
-
"aider" {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
"
|
|
432
|
-
"
|
|
426
|
+
"windsurf" { return Install-ToFile -Target (Join-Path $ProjDir ".windsurfrules") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
427
|
+
"cline" { return Install-ToFile -Target (Join-Path $ProjDir ".clinerules") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
428
|
+
"aider" {
|
|
429
|
+
Install-AiderToDir -SkillDir (Join-Path $ProjDir ".conductor-skills") -TmpDir $TmpDir -Config (Join-Path $ProjDir ".aider.conf.yml") -ReadPrefix ".conductor-skills/"
|
|
430
|
+
return $true
|
|
431
|
+
}
|
|
432
|
+
"copilot" { return Install-ToFile -Target (Join-Path $ProjDir ".github\copilot-instructions.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
433
|
+
"amazonq" { return Install-ToFile -Target (Join-Path $ProjDir ".amazonq\rules\conductor.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
434
|
+
"opencode" { return Install-ToFile -Target (Join-Path $ProjDir "AGENTS.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
435
|
+
"roo" { return Install-ToFile -Target (Join-Path $ProjDir ".roo\rules\conductor.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
436
|
+
"amp" { return Install-ToFile -Target (Join-Path $ProjDir ".amp\instructions.md") -Assembled $Assembled -ForceWrite $ForceWrite }
|
|
433
437
|
}
|
|
434
438
|
}
|
|
435
|
-
return $
|
|
439
|
+
return $false
|
|
436
440
|
}
|
|
437
441
|
|
|
438
442
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -638,9 +642,9 @@ try {
|
|
|
638
642
|
continue
|
|
639
643
|
}
|
|
640
644
|
|
|
641
|
-
# Idempotency check
|
|
645
|
+
# Idempotency check. -Force re-installs; -Upgrade does not (matches -Check).
|
|
642
646
|
$installedVer = Read-ManifestVersion -ManifestPath $manifest -AgentName $a
|
|
643
|
-
if ($installedVer -and ($installedVer -eq $targetVersion) -and !$Force
|
|
647
|
+
if ($installedVer -and ($installedVer -eq $targetVersion) -and !$Force) {
|
|
644
648
|
Write-Ok "$a already at v$installedVer, skipping."
|
|
645
649
|
$skippedCount++
|
|
646
650
|
continue
|
|
@@ -652,8 +656,13 @@ try {
|
|
|
652
656
|
Write-Info "Installing for $a ..."
|
|
653
657
|
}
|
|
654
658
|
|
|
659
|
+
# -Upgrade implies force-overwrite at write-time so the upgrade flow
|
|
660
|
+
# doesn't strand on a Read-Host prompt under non-interactive shells.
|
|
661
|
+
$installForce = [bool]$Force
|
|
662
|
+
if ($Upgrade) { $installForce = $true }
|
|
663
|
+
|
|
655
664
|
# Perform install
|
|
656
|
-
$result = Install-ForAgent -AgentName $a -ProjDir $ProjectDir -IsGlobal $useGlobal -ForceWrite $
|
|
665
|
+
$result = Install-ForAgent -AgentName $a -ProjDir $ProjectDir -IsGlobal $useGlobal -ForceWrite $installForce -TmpDir $tmpDir -Assembled $assembled
|
|
657
666
|
if ($result -ne $false) {
|
|
658
667
|
$targetPath = if ($useGlobal) { Get-GlobalPath -AgentName $a } else { Get-TargetPath -AgentName $a -ProjDir $ProjectDir }
|
|
659
668
|
$mode = if ($useGlobal) { "global" } else { "project" }
|
package/install.sh
CHANGED
|
@@ -7,14 +7,11 @@ set -euo pipefail
|
|
|
7
7
|
# https://github.com/conductor-oss/conductor-skills
|
|
8
8
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
9
9
|
|
|
10
|
-
VERSION="1.4.
|
|
11
|
-
# Per-file fetches
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
# check), never for file content.
|
|
16
|
-
REPO_BASE="https://raw.githubusercontent.com/conductor-oss/conductor-skills/v${VERSION}"
|
|
17
|
-
REPO_MAIN="https://raw.githubusercontent.com/conductor-oss/conductor-skills/main"
|
|
10
|
+
VERSION="1.4.3"
|
|
11
|
+
# Per-file fetches and the upgrade-check both read from `main`. Releases are
|
|
12
|
+
# rolled by bumping VERSION on main, not by tagging — the install scripts ride
|
|
13
|
+
# along with whatever main is serving.
|
|
14
|
+
REPO_BASE="https://raw.githubusercontent.com/conductor-oss/conductor-skills/main"
|
|
18
15
|
|
|
19
16
|
# When set, skip the network fetch and copy from this directory instead.
|
|
20
17
|
# The npm package sets this so the bundled files are used.
|
|
@@ -268,7 +265,7 @@ fetch_remote_version() {
|
|
|
268
265
|
return
|
|
269
266
|
fi
|
|
270
267
|
local remote_ver
|
|
271
|
-
remote_ver=$(curl -sSfL "$
|
|
268
|
+
remote_ver=$(curl -sSfL "$REPO_BASE/VERSION" 2>/dev/null | tr -d '[:space:]') || true
|
|
272
269
|
echo "$remote_ver"
|
|
273
270
|
}
|
|
274
271
|
|
|
@@ -306,8 +303,15 @@ download_files() {
|
|
|
306
303
|
dir=$(dirname "$file")
|
|
307
304
|
mkdir -p "$tmp_dir/$dir"
|
|
308
305
|
if ! curl -sSfL "$REPO_BASE/$file" -o "$tmp_dir/$file" 2>/dev/null; then
|
|
309
|
-
|
|
310
|
-
|
|
306
|
+
local http_code
|
|
307
|
+
http_code=$(curl -sS -o /dev/null -w "%{http_code}" "$REPO_BASE/$file" 2>/dev/null || echo "?")
|
|
308
|
+
error "Failed to download $file (HTTP $http_code from $REPO_BASE)"
|
|
309
|
+
if [ "$http_code" = "404" ]; then
|
|
310
|
+
error "File is missing upstream — likely a release packaging bug."
|
|
311
|
+
error "Please report: https://github.com/conductor-oss/conductor-skills/issues"
|
|
312
|
+
else
|
|
313
|
+
error "Check your internet connection and try again."
|
|
314
|
+
fi
|
|
311
315
|
# tmp_dir cleanup handled by EXIT trap
|
|
312
316
|
exit 1
|
|
313
317
|
fi
|
|
@@ -451,8 +455,10 @@ install_to_file() {
|
|
|
451
455
|
echo "$prefix"
|
|
452
456
|
cat "$assembled"
|
|
453
457
|
} > "$tmp_with_prefix"
|
|
454
|
-
|
|
458
|
+
local rv=0
|
|
459
|
+
safe_write "$target" "$tmp_with_prefix" "$force" || rv=$?
|
|
455
460
|
rm -f "$tmp_with_prefix"
|
|
461
|
+
return $rv
|
|
456
462
|
else
|
|
457
463
|
safe_write "$target" "$assembled" "$force"
|
|
458
464
|
fi
|
|
@@ -809,10 +815,11 @@ main() {
|
|
|
809
815
|
continue
|
|
810
816
|
fi
|
|
811
817
|
|
|
812
|
-
# Idempotency check
|
|
818
|
+
# Idempotency check. --force re-installs anyway; --upgrade does not (matches
|
|
819
|
+
# --check semantics: "already at latest" should be a no-op).
|
|
813
820
|
local installed_ver
|
|
814
821
|
installed_ver=$(read_manifest_version "$manifest" "$a")
|
|
815
|
-
if [ -n "$installed_ver" ] && [ "$installed_ver" = "$target_version" ] && [ "$force" != "true" ]
|
|
822
|
+
if [ -n "$installed_ver" ] && [ "$installed_ver" = "$target_version" ] && [ "$force" != "true" ]; then
|
|
816
823
|
ok "${a} already at v${installed_ver}, skipping."
|
|
817
824
|
skipped_count=$((skipped_count + 1))
|
|
818
825
|
continue
|
|
@@ -824,8 +831,14 @@ main() {
|
|
|
824
831
|
info "Installing for ${BOLD}${a}${NC} ..."
|
|
825
832
|
fi
|
|
826
833
|
|
|
834
|
+
# --upgrade implies force-overwrite at write-time (no `read -r` prompt,
|
|
835
|
+
# which breaks under `curl | bash`). The idempotency check above already
|
|
836
|
+
# gates whether we even reach this point.
|
|
837
|
+
local install_force="$force"
|
|
838
|
+
[ "$upgrade" = "true" ] && install_force="true"
|
|
839
|
+
|
|
827
840
|
# Perform install
|
|
828
|
-
if install_for_agent "$a" "$project_dir" "$use_global" "$
|
|
841
|
+
if install_for_agent "$a" "$project_dir" "$use_global" "$install_force" "$tmp_dir" "$assembled"; then
|
|
829
842
|
# Determine target path for manifest
|
|
830
843
|
local target_path
|
|
831
844
|
if [ "$use_global" = "true" ]; then
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conductor-oss/conductor-skills",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "Conductor workflow orchestration skill for AI coding agents — Claude Code, Cursor, Codex, Gemini, Cline, Copilot, and more.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"conductor-skills": "bin/conductor-skills.js"
|