Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Harness Init

ASecurity

Siembra el CLAUDE.md de un proyecto para que el harness pueda trabajar ahí: parte de una plantilla y completa sus ranuras entrevistando, nunca decidiendo solo. Es el paso 0 del ciclo. Usalo cuando la persona diga 'armemos el contrato', 'preparemos el proyecto', 'iniciemos el harness acá', 'no hay CLAUDE.md', o cuando quiera arrancar una feature en un repo que todavía no tiene uno. Si ya existe un CLAUDE.md, no lo pisa: lo revisa contra lo que el harness necesita y propone los arreglos. Siembr...

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentstypescriptgobashvuenodegit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add rarango10/GoHarness --skill harness-init --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Harness Init?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Harness Init
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rarango10-harness-init/badge)](https://www.skillsdirectory.com/skills/rarango10-harness-init)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: harness-init
description: "Siembra el CLAUDE.md de un proyecto para que el harness pueda trabajar ahí: parte de una plantilla y completa sus ranuras entrevistando, nunca decidiendo solo. Es el paso 0 del ciclo. Usalo cuando la persona diga 'armemos el contrato', 'preparemos el proyecto', 'iniciemos el harness acá', 'no hay CLAUDE.md', o cuando quiera arrancar una feature en un repo que todavía no tiene uno. Si ya existe un CLAUDE.md, no lo pisa: lo revisa contra lo que el harness necesita y propone los arreglos. Siembra además los configs que codifican memoria del harness (excluir end2end/ del runner de unidad, retries 0 en Playwright), y no siembra las plantillas de documentos, que viajan en los skills que las usan."
---

# Harness Init

El paso 0, y durante mucho tiempo el único sin dueño. Los siete pasos del ciclo tienen cada uno su
productor; **el contrato del proyecto no tenía ninguno**, y la única salida que ofrecía el router
era «hacelo con `/init` o a mano».

Eso lo volvía trabajo manual justo donde debería ser un comando: `CLAUDE.md` es lo único que hay que
adaptar para llevar el harness a otro repo, o sea **el paso que más se va a repetir**. En un proyecto
que ya existe no se nota; en uno nuevo es lo primero que se topa.

`/init` no alcanza: sobre una carpeta vacía no tiene nada que analizar, y no conoce las ranuras que
el harness necesita.

## Las dos mitades, y por qué hacen falta las dos

**La plantilla restringe por estructura, no por prosa.** Es lo que la hace valiosa: casi todo el
harness son compuertas de instrucción, que se cumplen porque el modelo las lee. La plantilla no.

- No tiene sección «Estructura», así que esa sección **no existe** — y meter un árbol de archivos en
  el contrato, que es territorio del `design.md`, pasa de improbable a imposible.
- Tiene **dos ranuras de comandos rotuladas por separado**, corrección e higiene, así que
  conflacionarlas también deja de estar disponible.

**La entrevista llena las ranuras.** Y acá está el mecanismo que importa: **una ranura sin llenar es
una pregunta visible.** Un `<stack: preguntá antes de completar>` que quedó sin tocar se ve en el
archivo, y cualquiera que lo abra sabe que falta algo. Una generación libre que decidió sola no deja
ninguna marca — y ya pasó: se escribió un stack entero sin preguntar, con la consulta pedida
explícitamente en el prompt, y el archivo resultante no tenía forma de delatarlo.

## Si ya existe un `CLAUDE.md`

**No lo pises.** Este skill no es «regenerá el contrato»; sobre un repo que ya tiene uno, su trabajo
es revisarlo contra lo que el harness necesita y **proponer** los arreglos, uno por uno, para que la
persona decida. Mirá cuatro cosas:

1. **Las dos ranuras de comandos** están rotuladas y separadas. Si hay una sola lista de comandos,
   ese es el hallazgo más caro de los cuatro: sin la separación, `implement-task` y `close-feature`
   no tienen contra qué bindear, y un lint adentro del comando de corrección hace fallar la
   verificación de una tarea por una queja de formato.
2. **No hay sección de estructura** ni nombres de archivos concretos.
3. **La tabla del ciclo** nombra a los productores actuales de cada paso.
4. **Los configs** de la sección «Qué sembrar» existen y dicen lo que tienen que decir.

Un cambio al `CLAUDE.md` de un proyecto que ya trabaja es un cambio de contrato: se propone y se
espera el sí. No lo apliques de corrido.

## La entrevista

Antes de preguntar nada, **mirá lo que ya está**: `package.json`, `pyproject.toml`, `go.mod`, un
`Makefile`, los archivos que haya. Una pregunta cuya respuesta está en el repo es una pregunta que
gasta la paciencia de la persona sin comprar nada.

**Primera ronda — lo que no depende de nada:**

- Nombre del proyecto y qué es, en una línea.
- **El stack.** Esta es la que nunca se saltea, ni siquiera cuando la respuesta parece obvia. Si
  tenés una recomendación, dala — pero **etiquetada**: «lo decidí yo, decime si va». Lo que no se
  puede es escribirla en el archivo como si la hubieran pedido.

**Segunda ronda — lo que depende del stack:**

- **El comando de corrección**: typecheck y tests. Nada más.
- **El comando de higiene**: lint, formato, build, e2e — lo que exista. Si el proyecto todavía no
  tiene ninguno, la ranura se llena repitiendo los de corrección **y se dice que es provisorio**. La
  ranura vacía no se borra: existe porque el paso 8 la va a buscar.

Si el repo ya declara scripts, **proponelos en vez de preguntar en abstracto**: «saqué estos de tu
`package.json`, ¿los confirmás?». Es más rápido y deja el origen a la vista.

**Reglas propias del proyecto:** preguntá si hay alguna que valga para *toda* feature. Si no hay,
la línea se borra en vez de inventarse una.

**Etiquetá el origen de cada cosa que quede escrita**: «lo pediste» · «lo decidí yo, decime si va» ·
«lo asumí porque X». Un supuesto declarado es honesto; uno silencioso se convierte en regla del
contrato y de ahí en más nadie lo vuelve a cuestionar.

## Escribir el archivo

Copiá `assets/CLAUDE.template.md` a `CLAUDE.md` en la raíz del proyecto y completá las ranuras con
lo que salió de la entrevista. La tabla del ciclo y las reglas del harness **vienen ya escritas**:
son memoria del método, no decisiones del proyecto, y no se reabren en cada init.

**El chequeo antes de dar el paso por terminado**, y es mecánico a propósito:

```bash
grep -n "preguntá antes de completar" CLAUDE.md
```

Si devuelve algo, hay una ranura sin llenar. Puede estar bien —a veces falta un dato que la persona
no tiene ahora— pero entonces **decilo con todas las letras** en vez de dejarlo pasar: el archivo
queda con una pregunta abierta y adentro, que es exactamente lo que la plantilla vino a lograr.
Nunca la tapes completando por tu cuenta.

## Qué sembrar además del `CLAUDE.md`

Los configs que codifican conocimiento del harness y que un proyecto nuevo no va a redescubrir.
Están en `assets/stacks/<stack>/`, y hoy hay uno solo, `typescript-node`. **Es a propósito: se
arranca con un stack y se agregan a medida que aparezcan**, en vez de inventar configs para stacks
que nadie usó todavía.

| Archivo | Qué codifica |
|---|---|
| `vitest.config.ts` | Excluye `end2end/` del runner de unidad. Sin esto, los dos runners se pelean por los `.spec.ts` — y el fallo aparece recién cuando el ciclo e2e puebla la carpeta, invalidando veredictos de tareas que nadie tocó. |
| `playwright.config.ts` | `retries: 0`. Un caso que pasa al segundo intento es un hallazgo, no un caso resuelto, y el triager lo tiene que ver así. |

**Copialos con sus comentarios.** Los comentarios *son* el contenido: explican por qué el archivo
existe, y sin ellos el primero que los lea va a borrar la exclusión por parecer arbitraria.

Si el stack no es ninguno de los que hay en `assets/stacks/`, **no improvises los configs**: decí
qué problema resuelven —los dos de la tabla— y dejá que la persona decida cómo se traduce a su
stack. Un config inventado para un runner que no conocés es peor que ninguno.

**Ofrecé `git init` si el repo no lo es.** El método pide un commit por tarea, y sin repo eso no
existe. Pasó: un proyecto entero se hizo sin repo porque nadie lo corrió y nada en el método lo
pedía.

## Qué NO sembrar

- **Las plantillas de documentos** (`requirements-template.md`, `design-template.md`,
  `tasks-template.md`, `e2e-tests-plan-template.md`). Ya viajan en `assets/` de los skills que las
  usan, y varios agentes las conocen por precarga. Copiarlas al proyecto crea dos copias y la
  pregunta de cuál gana, que es la misma trampa de tener el mismo workflow en dos lugares.
- **La carpeta `docs/`.** La crea `specify` cuando la necesita.
- **Código, scaffolding o una app de ejemplo.** Este paso escribe el contrato, no el proyecto.

## Al terminar

Contá en tres líneas qué quedó: el stack acordado, los dos comandos, y qué configs sembraste. Después
nombrá el **paso 1**, el skill `brainstorming`: es por donde entra la primera feature. No lo
arranques vos.

## Archivos de este skill

- `assets/CLAUDE.template.md` — la plantilla del contrato, con sus ranuras.
- `assets/stacks/typescript-node/` — los configs que codifican memoria del harness para ese stack.

Attribution

rarango10rarango10
View sourceMore from rarango10 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →