claudecode0 d5e1cf3696 fix: forzar PYTHONIOENCODING=utf-8 en scripts con python -c
En Windows el stdout de Python defaultea a cp1252 y crashea con
UnicodeEncodeError al imprimir literales no-ASCII (e.g. el ✓ del print
de éxito de pr-create.sh). El sintoma era que el PR se creaba OK pero
el script terminaba con exit 1 por el crash del print posterior.

Agrego export PYTHONIOENCODING=utf-8 después de set -euo pipefail en
los 10 scripts que invocan python (todos menos query.sh). Cubre tanto
las invocaciones inline como futuras sin tener que acordarse caso por
caso. Mantiene los literales unicode existentes (✓, →, ─, ⚠️).
2026-04-26 15:00:37 -06:00
2026-04-26 14:40:02 -06:00
2026-04-26 14:40:02 -06:00

skill-gitea

Skill local de Claude Code para gitea.nucleoriofrio.com (Gitea 1.24, org NucleOS). Cubre PRs, creación de repos, y la killer feature: introspección de Gitea Actions runs con filtros precisos para no saturar la ventana de contexto.

Mirror público del directorio local ~/.claude/skills/gitea/ en la PC del usuario humano. Existe para que el usuario pueda auditar lo que el bot hace contra su instancia de Gitea (creación de repos, PRs, lectura de logs). Clonar y correr en otra máquina no funciona out-of-the-box — requiere PAT del bot en .env (no incluido) y la skill bitwarden configurada para extraerlo.

Doc principal

Ver SKILL.md — diseño, modelo de seguridad (admin guard + anti-AI guard + visibilidad pública del bot), lifecycle, ejemplos.

Cheat sheet de endpoints en endpoints.md.

Estructura

.
├── SKILL.md             ← docs canónicas
├── endpoints.md         ← cheat sheet API Gitea 1.24
├── .env.example         ← plantilla de config (PAT, bot user, etc.)
├── .gitignore
├── README.md            ← este archivo
└── scripts/
    ├── setup.sh                ← extrae PAT desde skill bitwarden + valida
    ├── query.sh                ← helper REST con admin guard
    ├── pr-list.sh              ← lista PRs (state filter)
    ├── pr-view.sh              ← detalle de un PR
    ├── pr-comments.sh          ← lista comments (requiere PAT con read:issue)
    ├── pr-create.sh            ← crear PR (anti-AI guard + UTF-8 safe)
    ├── repo-create.sh          ← crear repo (regla dura: bot user → siempre público)
    ├── actions-list-runs.sh    ← lista runs (filtros client-side)
    ├── actions-view.sh         ← detalle de un run + probe de job_id
    └── actions-logs.sh         ← logs con --tail/--head/--lines/--grep/--errors

Lo que NO está en este repo

  • .env (PAT del bot, base URL si fuera distinta a producción)

Vive solo en la PC del usuario humano. Se regenera con bash scripts/setup.sh si el bot tiene la skill bitwarden con un item llamado "Gitea PAT claude-agent-gitops".

Dependencias

  • Python 3 (parsear JSON, escapar bodies UTF-8)
  • curl (Git Bash en Windows lo trae)
  • skill bitwarden sibling (para extraer el PAT en setup.sh)
Description
Skill local de Claude Code para gitea.nucleoriofrio.com (org NucleOS). PRs + introspeccion de Gitea Actions con filtros precisos para no saturar la ventana de contexto.
Readme 91 KiB
Languages
Shell 100%