fa2b2e16bc41bf44d220c8bc87092eba3130e53f
El statusline solo se re-ejecutaba al cambiar los mensajes, asi que el estado de reposo que el Stop hook escribe ~2s despues (en background) no se reflejaba hasta que el usuario interactuaba. Se anade refreshInterval=2 para que el harness re- ejecute el statusline cada 2s tambien estando idle, mostrando el valor final sin necesidad de escribir y sin bloquear el turno. Para que el refresco continuo no sea caro en repos grandes, el bloque git se cachea por directorio con TTL de 6s (el estado git no cambia estando parado); los ticks idle reusan el cache (~0.1s vs ~0.33s recomputando). El goal file (la fase) se lee siempre fresco. Se revierte el intento previo de Stop sincrono (bloqueaba ~2s el control). Nota: Claude Code no soporta acotar el refresco a una ventana (p.ej. 10s y parar); refreshInterval es continuo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude Code — Skills, Agents & Tools
Sistema de automatizacion para desarrollo de software usando Claude Code. Incluye skills (comandos invocables), agentes especializados, y herramientas Go para orquestar trabajo paralelo.
Estructura del repo
repo_Claude/
├── bin/ # Binarios compilados
│ └── parallel-executor # Orquestador de ejecucion paralela
├── utils/
│ └── parallel-executor/ # Codigo fuente Go del orquestador
│ ├── core/ # Funciones puras (parser, planner)
│ └── shell/ # I/O (worktrees, executor, logger)
├── dev/
│ └── issues/ # Sistema local de issues
└── install.sh # Instalador
Skills
Skills son comandos invocables desde Claude Code con /nombre. Viven en ~/.claude/skills/.
Configuracion y setup
| Skill | Descripcion | Uso |
|---|---|---|
/primer |
Genera CLAUDE.md personalizado analizando el repo | /primer |
/init-jupyter |
Inicializa proyecto Jupyter + MCP (bash script idempotente) | /init-jupyter [ruta] |
/init-go-module |
Crea modulo Go funcional con bindings Python (CGO + ctypes) | /init-go-module nombre |
/init-frontend |
Crea proyecto React/Vite o Wails desktop | /init-frontend nombre [--wails] |
/nochanges |
Modo read-only para explorar sin modificar | /nochanges |
/create-skill |
Crea un skill nuevo | /create-skill nombre |
/create-agent |
Crea un agente especializado | /create-agent |
Git
| Skill | Descripcion | Uso |
|---|---|---|
/git-branch |
Crea ramas issue/* o quick/* desde master |
/git-branch issue 0013 slug |
/git-push |
Commits atomicos por tipo, merge --no-ff, push, limpieza | /git-push |
/git-recovery |
Recupera repo de estados inconsistentes | /git-recovery [--aggressive] |
Workspace (Gitea + SQLite)
| Skill | Descripcion | Uso |
|---|---|---|
/create-repo |
Crea workspace en Gitea con rollback | /create-repo |
/import-repo |
Importa repo existente a Gitea (mirror) | /import-repo |
/sync-repos |
Sincroniza workspaces locales con Gitea | /sync-repos [--dry-run] |
/list-repos |
Lista workspaces desde SQLite | /list-repos [--filter x] |
/cleanup-worktrees |
Limpia worktrees post-merge | /cleanup-worktrees [--all] |
Issues
| Skill | Descripcion | Uso |
|---|---|---|
/create-issue |
Crea issue con template, sub-issues si es grande | /create-issue |
/fix-issue |
E2E: lee issue, branch, implementa, tests, merge | /fix-issue 0013 |
/auto-fix |
Igual que fix-issue pero sin confirmacion | /auto-fix 0013 |
/auto-create |
Igual que create-issue sin confirmacion | /auto-create |
/quick-issue |
Issue minimal desde texto (para TUI) | /quick-issue --text "..." |
/issues-status |
Dashboard con filtros por workspace/estado/tag | /issues-status |
Ejecucion paralela
| Skill | Descripcion | Uso |
|---|---|---|
/sort-issues |
Analiza dependencias, topological sort | /sort-issues |
/parallel-issues |
Genera plan de ejecucion paralela | /parallel-issues |
/execute-parallel |
Crea worktrees y ejecuta issues en paralelo | /execute-parallel [--dry-run] |
Agentes
Agentes especializados que Claude Code puede invocar automaticamente. Cada uno tiene su propio modelo, herramientas y MCP servers. Viven en ~/.claude/agents/.
Librerias de desarrollo
| Agente | Modelo | Descripcion | Ubicacion |
|---|---|---|---|
| backend-lib | sonnet | Gestiona DevFactory — libreria Go funcional con Result[T], Option[T], HTTP, DB, finance | ~/.local_agentes/backend |
| frontend-lib | sonnet | Gestiona Frontend_Library — 50+ componentes React/TS, temas OKLCH, shadcn/ui, charts, DSP | ~/.local_agentes/frontend |
Build y deploy
| Agente | Modelo | Descripcion |
|---|---|---|
| build-wails | sonnet | Apps desktop Wails v2 (Go + React). Cross-compile Linux/Windows/macOS. Integra ambas librerias |
| docker | sonnet | Dockerfiles multi-stage, docker-compose, push a registries, deploy via SSH |
Datos e infraestructura
| Agente | Modelo | Descripcion |
|---|---|---|
| db-reader | sonnet | Bases de datos SQLite y DuckDB. Consultas, imports CSV/Parquet/JSON, analisis OLAP |
| gitea | sonnet | Gestion de Gitea: repos, issues, PRs, branches, archivos. MCP integrado |
Automatizacion
| Agente | Modelo | Descripcion |
|---|---|---|
| navegator | sonnet | Automatizacion web con Go + Chrome DevTools Protocol (chromedp). Perfiles de navegacion |
Parallel Executor
Binario Go en utils/parallel-executor/ que orquesta la ejecucion paralela de issues usando git worktrees.
Arquitectura
Sigue el patron pure core / impure shell de DevFactory:
utils/parallel-executor/
├── core/ # Funciones puras, 0 side effects
│ ├── parser.go # Parsea PARALLEL_EXECUTION_ORDER.md
│ ├── planner.go # Topological sort (Kahn), deteccion de ciclos
│ ├── parser_test.go
│ └── planner_test.go
├── shell/ # Operaciones I/O con Result[T]
│ ├── worktree.go # CRUD de git worktrees
│ ├── executor.go # Invoca `claude -p` en cada worktree
│ └── logger.go # Logs por sesion e issue
├── main.go # CLI
├── go.mod + go.work # DevFactory como dependencia
└── Makefile
Uso
# Compilar
cd utils/parallel-executor && make build
# Analizar issues y generar plan
./bin/parallel-executor --sort
# Ver que haria sin ejecutar
./bin/parallel-executor --dry-run
# Ejecutar todo
./bin/parallel-executor
# Solo un grupo
./bin/parallel-executor --group 1
# Sin paralelismo
./bin/parallel-executor --sequential
# Solo limpiar worktrees
./bin/parallel-executor --cleanup
Flujo de ejecucion
- Lee (o genera)
PARALLEL_EXECUTION_ORDER.md - Agrupa issues por dependencias (topological sort)
- Por cada grupo, crea worktrees en
worktrees/issue-NNNN/ - Ejecuta
claude -pen paralelo dentro de cada worktree - Mergea branches exitosas a master (
--no-ff) - Limpia worktrees automaticamente
- Escribe logs en
logs/
Stack tecnologico
Backend (Go)
- Go 1.22+ con generics
- DevFactory (
~/.local_agentes/backend): Result[T], Option[T], MapSlice, FilterSlice, Reduce, Pipe, Curry - Patron pure core / impure shell: funciones puras en
core/, I/O wrapeado en Result[T] enshell/ - DuckDB para analytics, SQLite para metadata
- Bubble Tea para TUIs
Frontend (React)
- React 19 + TypeScript strict + Vite + Tailwind CSS 4 (OKLCH)
- Frontend_Library (
~/.local_agentes/frontend): shadcn/ui, Phosphor Icons, 50+ componentes - pnpm exclusivamente, link via
pnpm add @anthropic/frontend-lib@link:... - Vite dedupe obligatorio para
react,react-dom - Storybook 10 para documentacion de componentes
Desktop
- Wails v2 (Go backend + React frontend)
- Cross-compile: Linux AMD64/ARM64, Windows AMD64
- DevFactory via
go.work, Frontend_Library viapnpm link
Infraestructura
- Gitea self-hosted para repositorios
- Docker multi-stage builds
- Trunk-based development: ramas
issue/*yquick/*, merge rapido a master
Convenciones
- Inmutabilidad: no mutar datos, crear copias nuevas
- Result[T] para errores, no
(T, error)— permite encadenamiento monadico - Commits atomicos: agrupados por tipo (feat, fix, refactor, docs, chore, test)
- Issues: formato 3-4 digitos, estado en markdown, sub-issues con sufijo letra
- Skills con bash scripts: idempotentes, detectan estado existente, colores en output
Description
Languages
Shell
74.2%
Go
25.4%
Makefile
0.4%