Skip to main content Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Un comando directo omite el prompt de revisión. Revisa el origen antes de ejecutarlo.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill configure-downstreamEl comando permanece en una sola línea. Desplázate horizontalmente para revisarlo antes de copiarlo.
¿Prefieres una copia local? Descarga los archivos que SkillsMP tiene disponibles ahora.
Más de este repositorio
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
Ocupaciones relacionadasSOC
Basado en la clasificación ocupacional SOC
Explorador de archivos
2 archivos| name | configure-downstream |
| description | Configure Konflux for new Submariner version - creates overlays, tenant config, and RPAs for Y-stream releases. |
| version | 1.0.0 |
| argument-hint | <new-version> |
| user-invocable | true |
| allowed-tools | Bash, Read, Glob |
Configure Downstream Release
Configures Konflux CI/CD for a new Submariner minor version (Y-stream releases).
Usage:
/configure-downstream 0.23
/configure-downstream 0.23.0
What it does:
- Auto-detects previous version from existing overlays
- Creates feature branch (subm-configure-v0.23) from main
- Creates 3 commits with 49 total files:
- Commit 1: 26 YAML overlay files
- Commit 2: 22 auto-generated Kustomize manifests
- Commit 3: 2 ReleasePlanAdmission files (stage + prod)
- Verifies all changes before committing
- Outputs push command and MR instructions
Arguments: $ARGUMENTS
set -euo pipefail
INPUT_VERSION="$ARGUMENTS"
cd ~/konflux/konflux-release-data || {
echo "❌ Error: konflux-release-data repository not found at ~/konflux/konflux-release-data"
exit 1
}
test -f "tenants-config/build-single.sh" || {
echo "❌ Error: Invalid konflux-release-data repository (missing build-single.sh)"
exit 1
}
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
if [ "$CURRENT_BRANCH" != "main" ]; then
echo "❌ Error: Must be on main branch to start"
echo " Current branch: $CURRENT_BRANCH"
echo " Run: git checkout main"
exit 1
fi
git diff-index --quiet HEAD -- 2>/dev/null || {
echo "❌ Error: Working tree has uncommitted changes on main"
echo " Commit or stash changes before running this skill"
git status --short
exit 1
}
git fetch origin main 2>/dev/null || echo "⚠️ git fetch failed - working with cached remote state"
if ! git merge-base --is-ancestor origin/main HEAD 2>/dev/null;
1
| grep -qE || {
1
}
MAJOR_MINOR=$( | grep -oE )
NEW_MINOR=$( | -d. -f2)
NEW=
OVERLAY_DIR=
[ -d ];
1
EXISTING_VERSIONS=$( -1d /[0-9]*-overlay 2>/dev/null | \
xargs -n1 | sed | sed | -n)
[ -z ];
1
PREV_MINOR=$( | -1)
PREV=
PREV_ACM=
NEW_ACM=
[ -lt 0 ];
1
BRANCH=
git show-ref --verify --quiet ;
1
git show-ref --verify --quiet ;
git branch -D >/dev/null 2>&1
git checkout -b || {
1
}
-r
find . -name - sed -i \
-e \
-e \
-e {} +
FILE_COUNT=$(find . -name | -l)
[ -eq 26 ] || { ; 1; }
grep -q kustomization.yaml || { ; 1; }
grep -q *.yaml || { ; 1; }
grep -q component-patch.yaml || { ; 1; }
grep -rEq .;
grep -rE . | -3
1
git add
git commit -s -m
~/konflux/konflux-release-data/tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant
grep -q kustomization.yaml || {
sed -i kustomization.yaml
}
~/konflux/konflux-release-data/tenants-config
./build-single.sh submariner-tenant
COUNT=$( * 2>/dev/null | -l)
[ -eq 22 ] || { ; 1; }
git add tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/kustomization.yaml
git add tenants-config/auto-generated/cluster/kflux-prd-rh02/tenants/submariner-tenant/
git commit -s -m
~/konflux/konflux-release-data/config/kflux-prd-rh02.0fk9.p1/product/ReleasePlanAdmission/submariner
sed -i -e \
-e \
-e \
-e \
*
grep -q || { ; 1; }
grep -q || { ; 1; }
COMPONENT_COUNT=$(grep -c )
[ -eq 9 ] || { ; 1; }
grep -q || { ; 1; }
PATCH_MATCHES=$(grep -E * 2>/dev/null)
[ -n ];
| -3
1
git add *
git commit -s -m
then
echo
"❌ Error: Local main is not up to date with origin/main"
echo
" Run: git pull origin main"
exit
fi
echo
"$INPUT_VERSION"
'^0\.[0-9]+(\.[0-9]+)?$'
echo
"❌ Error: Invalid version format '$INPUT_VERSION'"
echo
" Expected: 0.Y or 0.Y.Z (e.g., 0.23 or 0.23.1)"
exit
echo
"$INPUT_VERSION"
'^[0-9]+\.[0-9]+'
echo
"$MAJOR_MINOR"
cut
"0-${NEW_MINOR}"
"$HOME/konflux/konflux-release-data/tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/overlay/application-submariner"
if
"${OVERLAY_DIR}/${NEW}-overlay"
then
echo
"❌ Error: Version ${MAJOR_MINOR} already configured"
echo
" Overlay directory exists: ${NEW}-overlay"
exit
fi
ls
"${OVERLAY_DIR}"
basename
's/-overlay$//'
's/^0-//'
sort
if
"$EXISTING_VERSIONS"
then
echo
"❌ Error: No previous versions found"
echo
" Cannot auto-detect without existing overlays"
echo
" Expected at least one directory matching: ${OVERLAY_DIR}/0-*-overlay"
exit
fi
echo
"$EXISTING_VERSIONS"
tail
"0-${PREV_MINOR}"
"2.$((PREV_MINOR - 7))"
"2.$((NEW_MINOR - 7))"
if
"$((NEW_MINOR - 7))"
then
echo
"❌ Error: ACM version would be negative: 2.$((NEW_MINOR - 7))"
echo
" Minimum supported version is 0.7 (ACM 2.0)"
exit
fi
echo
"✓ Version detection:"
echo
" Previous: ${PREV} (ACM ${PREV_ACM})"
echo
" New: ${NEW} (ACM ${NEW_ACM})"
echo
""
"subm-configure-v${NEW//-/.}"
if
"refs/remotes/origin/$BRANCH"
then
echo
"❌ Error: Branch $BRANCH already exists on remote"
echo
" Delete it first: git push origin --delete $BRANCH"
echo
" Then re-run this skill"
exit
fi
if
"refs/heads/$BRANCH"
then
echo
"⚠️ Local branch $BRANCH exists - deleting and recreating"
"$BRANCH"
fi
"$BRANCH"
echo
"❌ Error: Failed to create branch $BRANCH"
exit
echo
"✓ Created feature branch: $BRANCH"
echo
" (All commits will be made on this branch)"
echo
""
cd
"${OVERLAY_DIR}"
cp
"${PREV}-overlay"
"${NEW}-overlay"
cd
"${NEW}-overlay"
"*.yaml"
exec
"s/$PREV/$NEW/g"
"s/${PREV//-/.}/${NEW//-/.}/g"
"s/\/$PREV_ACM\//\/$NEW_ACM\//g"
"*.yaml"
wc
"$FILE_COUNT"
echo
"❌ Expected 26 YAML files, found $FILE_COUNT"
exit
"nameSuffix: -$NEW"
echo
"❌ nameSuffix not updated in kustomization.yaml"
exit
"value: submariner-$NEW"
echo
"❌ Application name not updated to submariner-$NEW"
exit
"value: release-${NEW//-/.}"
echo
"❌ Git branch not updated to release-${NEW//-/.}"
exit
if
"${PREV}|${PREV//-/.}|${PREV_ACM}"
then
echo
"❌ Old version references still present:"
"${PREV}|${PREV//-/.}|${PREV_ACM}"
head
exit
fi
echo
" ✓ All verifications passed"
cd
"$(git rev-parse --show-toplevel)"
"tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/overlay/application-submariner/${NEW}-overlay"
"Add Submariner v${NEW//-/.} overlay structure"
echo
"✅ Commit 1: Created overlay structure (26 files)"
echo
" - Copied ${PREV}-overlay → ${NEW}-overlay"
echo
" - Updated version strings (${PREV} → ${NEW}, ${PREV_ACM} → ${NEW_ACM})"
echo
" - Verified: nameSuffix, application name, git branch, no old versions"
echo
" - Committed: Add Submariner v${NEW//-/.} overlay structure"
echo
""
cd
"overlay/application-submariner/$NEW-overlay"
"/overlay\\/application-submariner\\/$PREV-overlay/a\\ - overlay/application-submariner/$NEW-overlay"
cd
ls
"auto-generated/cluster/kflux-prd-rh02/tenants/submariner-tenant/"
"-${NEW}.yaml"
wc
"$COUNT"
echo
"❌ Error: Expected 22 auto-generated files, found $COUNT"
exit
cd
"$(git rev-parse --show-toplevel)"
"Enable Submariner v${NEW//-/.} in tenant config"
echo
"✅ Commit 2: Enabled overlay in tenant config (22 files)"
echo
" - Added overlay entry to kustomization.yaml"
echo
" - Ran build-single.sh submariner-tenant"
echo
" - Generated 22 auto-generated manifests"
echo
" - Committed: Enable Submariner v${NEW//-/.} in tenant config"
echo
""
cd
cp
"submariner-release-plan-admission-prod-$PREV.yaml"
"submariner-release-plan-admission-prod-$NEW.yaml"
cp
"submariner-release-plan-admission-stage-$PREV.yaml"
"submariner-release-plan-admission-stage-$NEW.yaml"
"s/$PREV/$NEW/g"
"s/${PREV//-/.}/${NEW//-/.}/g"
"s/\"$PREV_ACM\"/\"$NEW_ACM\"/g"
"s/\\/$PREV_ACM\\//\\/$NEW_ACM\\//g"
"submariner-release-plan-admission-"
"-$NEW.yaml"
"intention: staging"
"submariner-release-plan-admission-stage-$NEW.yaml"
echo
"❌ Stage RPA intention not 'staging'"
exit
"intention: production"
"submariner-release-plan-admission-prod-$NEW.yaml"
echo
"❌ Prod RPA intention not 'production'"
exit
"url: registry"
"submariner-release-plan-admission-prod-$NEW.yaml"
"$COMPONENT_COUNT"
echo
"❌ Expected 9 components in RPA, found $COMPONENT_COUNT"
exit
"product_version: \"$NEW_ACM\""
"submariner-release-plan-admission-prod-$NEW.yaml"
echo
"❌ Product version not set to \"$NEW_ACM\""
exit
"v${NEW//-/.}\.[0-9]+-"
"submariner-release-plan-admission-"
"-$NEW.yaml"
if
"$PATCH_MATCHES"
then
echo
"❌ Found patch version in RPA tags (should use minor version only)"
echo
"$PATCH_MATCHES"
head
exit
fi
echo
" ✓ All verifications passed"
cd
"$(git rev-parse --show-toplevel)"
"config/kflux-prd-rh02.0fk9.p1/product/ReleasePlanAdmission/submariner/submariner-release-plan-admission-"
"-$NEW.yaml"
"Add Submariner v${NEW//-/.} stage/prod RPAs"
echo
"✅ Commit 3: Added stage/prod RPAs (2 files)"
echo
" - Copied RPA files (stage, prod)"
echo
" - Updated version strings and ACM version"
echo
" - Verified: intentions, component count (9), product version, tag format"
echo
" - Committed: Add Submariner v${NEW//-/.} stage/prod RPAs"
echo
""
echo
"━━━ SUMMARY ━━━"
echo
""
echo
"✅ All 3 commits completed successfully"
echo
" - 26 overlay files created"
echo
" - 22 auto-generated manifests built"
echo
" - 2 RPA files configured"
echo
" - Total: 49 files added"
echo
" - Branch: $BRANCH (currently checked out)"
echo
""
echo
"📋 Review changes:"
echo
" git log --oneline -3 # View commit messages"
echo
" git diff main...$BRANCH --stat # View file changes summary"
echo
" git diff main...$BRANCH # View full diff"
echo
""
echo
"🚀 Next steps:"
echo
" 1. Review the commits above"
echo
" 2. Push: git push origin $BRANCH"
echo
" 3. Create MR in GitLab UI (auto-opens after push)"
echo
" 4. After merge, wait for ArgoCD deploy (~5-10 min)"
echo
" 5. Verify: oc get releaseplans -n submariner-tenant | grep -E \"stage-${NEW}|prod-${NEW}\""
echo
""
echo
"💡 If you need to start over:"
echo
" git checkout main"
echo
" git branch -D $BRANCH"