CommunityRedacción y edicióngithub.com

Forgejo

Capa delgada sobre la API REST de Forgejo. Cada recurso reside en su propio script para que el agente pueda descubrirlos e invocarlos individualmente. SkillHone depende de esta habilidad como backend VCS, pero se mantiene independiente para que otro backend como GitLab o Gitea pueda ofrecer la misma superficie de flujo de trabajo.

¿Qué es Forgejo?

Forgejo es una habilidad para agentes de IA que proporciona una interfaz simplificada sobre la API REST de Forgejo, un servidor de forja de código libre. Está diseñada como un backend VCS (sistema de control de versiones) intercambiable para SkillHone, pero puede usarse de forma independiente. Cada recurso (issues, pull requests, wiki, metadatos de repositorio y un resumen combinado) se implementa como un script de Python independiente, lo que permite al agente descubrir e invocar funcionalidades de manera granular. La configuración se resuelve por orden de precedencia: variables de entorno, archivos de configuración locales y un archivo de configuración en el directorio de trabajo. Esta habilidad es útil para agentes que necesitan gestionar repositorios, colaborar en código o mantener documentación de forma autónoma, y se integra con plataformas como Claude Code, Codex, OpenClaw y Hermes a través del runtime de agentskills.io.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add Tencent/SkillHone

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Forgejo?

Capa delgada sobre la API REST de Forgejo. Cada recurso vive en su propio script para que el agente pueda descubrirlos e invocarlos individualmente. SkillHone depende de esta habilidad como backend VCS, pero se mantiene independiente para que otro backend como GitLab o Gitea pueda ofrecer la misma superficie de flujo de trabajo.

Scripts

ScriptRecursoUso representativo
scripts/issue.pyIssuespython3 scripts/issue.py create --title "Bug"
scripts/pr.pyPull requestspython3 scripts/pr.py merge 1
scripts/wiki.pyPáginas wikipython3 scripts/wiki.py get --title "Análisis"
scripts/repo.pyMetadatos del repositoriopython3 scripts/repo.py branches
scripts/summary.pyPanel de resumen agregadopython3 scripts/summary.py

Todos los scripts soportan --help. Ejecútalo antes de adivinar las banderas.

Configuración

Resuelta en este orden (coincide la primera):

  1. Variables de entorno: FORGEJO_URL, FORGEJO_TOKEN, FORGEJO_OWNER, FORGEJO_REPO
  2. ~/.skillhone/settings.json + ~/.skillhone/identities.conf
  3. _data/forgejo_config.txt en el directorio de trabajo actual

Si no hay nada configurado, el script finaliza con un mensaje claro indicando la variable faltante.

Uso por Recurso

Issues

python3 scripts/issue.py list
python3 scripts/issue.py view <N>
python3 scripts/issue.py create --title "Corrección: timeout" --body "## Problema\n..."
python3 scripts/issue.py close <N>
python3 scripts/issue.py comment <N> --body "Hecho"

Pull Requests

python3 scripts/pr.py list
python3 scripts/pr.py view <M>
python3 scripts/pr.py create --title "Corrección timeout" --head fix/timeout --base main --body "Cierra #1"
python3 scripts/pr.py review <M> --approve
python3 scripts/pr.py merge <M> --method merge
python3 scripts/pr.py comment <M> --body "LGTM"

Wiki

python3 scripts/wiki.py list
python3 scripts/wiki.py get --title "Observación-Iteración-1"
python3 scripts/wiki.py create --title "Página" --body "contenido"
python3 scripts/wiki.py edit --title "Página" --body "contenido actualizado"

Metadatos del Repositorio

python3 scripts/repo.py info
python3 scripts/repo.py branches

Resumen Combinado

python3 scripts/summary.py
# issues abiertos + PRs abiertos + página wiki de observación más reciente

Invocación Desde Otras Habilidades

Otras habilidades que residen en ~/.skillhone/skills/ llaman a estos scripts mediante su ruta absoluta:

python3 ~/.skillhone/skills/forgejo/scripts/issue.py list

Esto mantiene reemplazable el backend VCS. Una habilidad de GitLab o Gitea puede exponer una superficie de comandos equivalente sin cambiar la lógica de optimización de SkillHone.

Advertencias

  • Los tokens con caracteres @ rompen la inyección de URL de clonación de git. Usa un token sin @ o codifícalo en URL.
  • merge --method squash no es compatible con versiones antiguas de Forgejo. Si obtienes Unknown method, vuelve a merge.
  • Las páginas wiki se almacenan como archivos .md en un repositorio git separado (<repo>.wiki.git). wiki.py oculta eso, pero si necesitas edición personalizada, clona el repositorio wiki directamente.

Reglas Estrictas

  • Nunca imprimas el token de Forgejo en stdout/stderr. Los scripts ya lo redactan; no lo pegues en campos --body.
  • No llames a la API REST de Forgejo directamente con curl o HTTP artesanal desde los flujos de trabajo de SkillHone. Usa estos scripts de backend para que la carga de credenciales, redacción y reemplazo del backend se mantengan centralizados.
  • No hagas cat a _data/forgejo_config.txt, ~/.skillhone/settings.json o identities.conf para descubrir credenciales. Los scripts resuelven las credenciales internamente.
  • No hagas push directamente a main mediante ninguno de estos scripts. Solo PRs.
  • Cuando obtengas un 401/403, vuelve a verificar el orden de resolución de configuración anterior antes de modificar el script.

Skills relacionados