بنقرة واحدة
github-connect
Conecta el proyecto a GitHub automáticamente. Crea repo, configura remote, hace push inicial.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Conecta el proyecto a GitHub automáticamente. Crea repo, configura remote, hace push inicial.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Descompone una imagen o descripción de UI en componentes reutilizables del design system y genera el kit de componentes base para el proyecto.
Conduce el flujo SDD-ES para personas que no programan (perfil guiado). Define cómo hablar sin jerga, cuándo confirmar antes de actuar, y cómo tomar las decisiones técnicas por el usuario sin bajar el rigor. Se activa cuando estado.json o sdd.config.yaml indican perfil "guiado".
Genera índice AST de archivos JS/TS para navegación estructural sin leer archivos completos
Indexa decisiones arquitectónicas (ADR) desde comentarios en código
Comprime archivos de memoria de agentes cuando superan umbral (>50KB)
Detecta mutaciones (cambios) en archivos para tracking de calidad
| name | github-connect |
| description | Conecta el proyecto a GitHub automáticamente. Crea repo, configura remote, hace push inicial. |
| tools | ["Bash","Read","Edit","Grep"] |
| version | 1.0.0 |
| author | SDD-ES Orchestrator |
Eliminar la fricción de crear repositorio GitHub manualmente. Para usuarios no-técnicos, este proceso es una barrera insuperable. Este skill automatiza completamente:
.sdd/sdd.config.yamlEl skill acepta los siguientes parámetros (todos opcionales):
GITHUB_TOKEN : Token de autenticación (variable de entorno o parámetro)
repo_name : Nombre del repositorio en GitHub (default: nombre de carpeta actual)
repo_description : Descripción del repositorio (default: "Proyecto SDD-ES")
repo_visibility : "public" o "private" (default: "public")
branch_name : Rama principal (default: "main")
auto_init_commit : true/false - hacer commit inicial (default: true)
# Verificar que GITHUB_TOKEN está disponible
if [ -z "$GITHUB_TOKEN" ]; then
echo "❌ GITHUB_TOKEN no configurado"
echo "Genera un token en: https://github.com/settings/tokens?type=beta"
echo "Instrucciones: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"
exit 1
fi
# Probar autenticación
gh auth status --show-token 2>/dev/null || {
echo "❌ Token de GitHub inválido o expirado"
echo "Genera uno nuevo: https://github.com/settings/tokens?type=beta"
exit 1
}
# Obtener usuario de GitHub
GITHUB_USER=$(gh api user --jq .login 2>/dev/null)
if [ -z "$GITHUB_USER" ]; then
echo "❌ No se pudo obtener usuario de GitHub"
exit 1
fi
# Nombre del repositorio (default a nombre de carpeta)
REPO_NAME="${repo_name:=$(basename "$(pwd)")}"
REPO_DESCRIPTION="${repo_description:=Proyecto SDD-ES}"
REPO_VISIBILITY="${repo_visibility:=public}"
BRANCH_NAME="${branch_name:=main}"
echo "📋 Configuración:"
echo " Usuario: $GITHUB_USER"
echo " Repo: $REPO_NAME"
echo " Descripción: $REPO_DESCRIPTION"
echo " Visibilidad: $REPO_VISIBILITY"
# Comprobar existencia del repositorio
REPO_URL="https://github.com/$GITHUB_USER/$REPO_NAME"
if gh repo view "$GITHUB_USER/$REPO_NAME" --json name 2>/dev/null | grep -q "$REPO_NAME"; then
echo "⚠️ El repositorio '$REPO_NAME' ya existe en GitHub"
echo " URL: $REPO_URL"
echo " Se usará el repositorio existente."
REPO_EXISTS=true
else
REPO_EXISTS=false
fi
if [ "$REPO_EXISTS" = false ]; then
echo "🔨 Creando repositorio en GitHub..."
gh repo create "$REPO_NAME" \
--description "$REPO_DESCRIPTION" \
--"$REPO_VISIBILITY" \
--source=. \
--remote=origin \
--push \
2>&1 | grep -E "^✓|error|Error" || true
if [ $? -ne 0 ]; then
echo "❌ Error al crear el repositorio"
exit 1
fi
echo "✅ Repositorio creado en GitHub"
fi
# Verificar si ya existe remote origin
if git remote get-url origin 2>/dev/null | grep -q "$REPO_NAME"; then
echo "✓ Remote ya configurado"
else
echo "🔗 Configurando remote..."
REMOTE_URL="https://github.com/$GITHUB_USER/$REPO_NAME.git"
# Remover remote anterior si existe
git remote remove origin 2>/dev/null || true
# Añadir nuevo remote
git remote add origin "$REMOTE_URL"
echo "✅ Remote configurado: $REMOTE_URL"
fi
AUTO_INIT="${auto_init_commit:=true}"
if [ "$AUTO_INIT" = true ]; then
# Verificar cambios pendientes
if ! git diff-index --quiet HEAD 2>/dev/null; then
echo "📝 Haciendo commit inicial..."
git add -A
git commit -m "feat: Inicialización del proyecto SDD-ES
- Proyecto conectado a GitHub
- Configuración inicial completada"
echo "✅ Commit inicial creado"
else
echo "ℹ️ No hay cambios pendientes para commitear"
fi
fi
echo "🚀 Haciendo push a GitHub..."
# Configurar rama local
git branch -M "$BRANCH_NAME" 2>/dev/null || true
# Push con -u para establecer rama upstream
git push -u origin "$BRANCH_NAME" 2>&1 | grep -E "^✓|error|Error" || true
if [ $? -eq 0 ]; then
echo "✅ Push completado"
else
echo "⚠️ Push completado con advertencias"
fi
echo "💾 Actualizando configuración local..."
# Crear directorio .sdd si no existe
mkdir -p .sdd
# Crear o actualizar sdd.config.yaml
cat > .sdd/sdd.config.yaml << EOF
# Configuración de GitHub - SDD-ES
git:
remote_url: "https://github.com/$GITHUB_USER/$REPO_NAME.git"
connected: true
connected_at: "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
github_user: "$GITHUB_USER"
repo_name: "$REPO_NAME"
branch: "$BRANCH_NAME"
visibility: "$REPO_VISIBILITY"
EOF
echo "✅ Configuración guardada en .sdd/sdd.config.yaml"
# Hacer commit de la configuración
if [ "$AUTO_INIT" = true ]; then
git add .sdd/sdd.config.yaml
git commit -m "chore: Añadir configuración de GitHub" 2>/dev/null || true
git push origin "$BRANCH_NAME" 2>/dev/null || true
fi
Al completarse exitosamente, el skill proporciona:
✅ Conexión completada exitosamente
📊 Resumen:
Repositorio: github.com/<user>/<repo>
Rama: main
Visibilidad: public
Remote: https://github.com/<user>/<repo>.git
🔗 URL: https://github.com/<user>/<repo>
✨ Tu proyecto está en GitHub y listo para colaborar
❌ GITHUB_TOKEN no configurado
Genera un token en: https://github.com/settings/tokens?type=beta
Instrucciones: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
Pasos:
1. Ve a https://github.com/settings/tokens?type=beta
2. Click en "Generate new token" > "Generate new token (beta)"
3. Dale nombre: "SDD-ES CLI"
4. Permisos: repo (todo), user:email
5. Copia el token
6. Configura: export GITHUB_TOKEN=ghp_xxxxx
❌ Token de GitHub inválido o expirado
Genera uno nuevo: https://github.com/settings/tokens?type=beta
El token puede haber expirado o no tener los permisos necesarios.
Permisos requeridos: repo (all scopes), user:email
⚠️ El repositorio 'mi-proyecto' ya existe en GitHub
URL: https://github.com/usuario/mi-proyecto
Se usará el repositorio existente.
El skill detectó que el repo ya existe y configurará el remote
para que apunte al repositorio existente.
❌ Este directorio no es un repositorio Git
Inicializa uno primero: git init
ℹ️ No hay cambios pendientes para commitear
El repositorio está vacío o todos los cambios están ya commiteados.
El skill se invoca automáticamente en el PASO 4 de sdd.constitucion.md:
# En sdd.constitucion.md, después de configuración base
cuando_usuario_dice: "sí, guardar en GitHub"
entonces:
invocar_skill: github-connect
parametros:
repo_name: ${proyecto.nombre}
repo_description: "${proyecto.descripcion}"
repo_visibility: public
Los usuarios pueden invocar el skill manualmente:
/sdd.github-connect repo_name=mi-proyecto repo_visibility=private
O desde CLI:
sdd skill github-connect --repo-name mi-proyecto --visibility private
git instalado y git config --global user.name y user.email configuradosgh (GitHub CLI) instalado: https://cli.github.com/repo y user:emailgit init si es necesario)Después de que el skill se ejecuta, verifica:
# 1. Remote está configurado
git remote -v
# Debe mostrar origin con la URL correcta
# 2. Branch upstream configurado
git branch -vv
# Debe mostrar main [origin/main] o similar
# 3. Configuración guardada
cat .sdd/sdd.config.yaml
# Debe contener git.connected: true
# 4. Repositorio accessible
gh repo view <usuario>/<repo>
# Debe mostrar detalles del repositorio
gh cli para operaciones de GitHub (más seguro que HTTPS).sdd/sdd.config.yaml