LucianoZunigaC

create-rule

0
0
# Install this skill:
npx skills add LucianoZunigaC/Skills-SynLinks

Or install specific skill: npx add-skill https://github.com/LucianoZunigaC/Skills-SynLinks/tree/main/.skills/create-rule

# Description

Create Cursor rules for persistent AI guidance. Use when the user wants to create a rule, add coding standards, set up project conventions, configure file-specific patterns, create RULE.md files, or asks about .cursor/rules/ or AGENTS.md.

# SKILL.md


name: create-rule
description: Create Cursor rules for persistent AI guidance. Use when the user wants to create a rule, add coding standards, set up project conventions, configure file-specific patterns, create RULE.md files, or asks about .cursor/rules/ or AGENTS.md.


Creating Cursor Rules

Create project rules in .cursor/rules/ to provide persistent context for the AI agent.

Gather Requirements

Before creating a rule, determine:

  1. Purpose: What should this rule enforce or teach?
  2. Scope: Should it always apply, or only for specific files?
  3. File patterns: If file-specific, which glob patterns?

Inferring from Context

If you have previous conversation context, infer rules from what was discussed. You can create multiple rules if the conversation covers distinct topics or patterns. Don't ask redundant questions if the context already provides the answers.

Required Questions

If the user hasn't specified scope, ask:
- "Should this rule always apply, or only when working with specific files?"

If they mentioned specific files and haven't provided concrete patterns, ask:
- "Which file patterns should this rule apply to?" (e.g., **/*.ts, backend/**/*.py)

It's very important that we get clarity on the file patterns.

Use the AskQuestion tool when available to gather this efficiently.


Rule File Format

Rules are .mdc files in .cursor/rules/ with YAML frontmatter:

.cursor/rules/
  typescript-standards.mdc
  react-patterns.mdc
  api-conventions.mdc

File Structure

---
description: Brief description of what this rule does
globs: **/*.ts  # File pattern for file-specific rules
alwaysApply: false  # Set to true if rule should always apply
---

# Rule Title

Your rule content here...

Frontmatter Fields

Field Type Description
description string What the rule does (shown in rule picker)
globs string File pattern - rule applies when matching files are open
alwaysApply boolean If true, applies to every session

Rule Configurations

Always Apply

For universal standards that should apply to every conversation:

---
description: Core coding standards for the project
alwaysApply: true
---

Apply to Specific Files

For rules that apply when working with certain file types:

---
description: TypeScript conventions for this project
globs: **/*.ts
alwaysApply: false
---

Best Practices

Keep Rules Concise

  • Under 50 lines: Rules should be concise and to the point
  • One concern per rule: Split large rules into focused pieces
  • Actionable: Write like clear internal docs
  • Concrete examples: Ideally provide concrete examples of how to fix issues

Example Rules

TypeScript Standards

---
description: TypeScript coding standards
globs: **/*.ts
alwaysApply: false
---

# Error Handling

\`\`\`typescript
// ❌ BAD
try {
  await fetchData();
} catch (e) {}

// ✅ GOOD
try {
  await fetchData();
} catch (e) {
  logger.error('Failed to fetch', { error: e });
  throw new DataFetchError('Unable to retrieve data', { cause: e });
}
\`\`\`

React Patterns

---
description: React component patterns
globs: **/*.tsx
alwaysApply: false
---

# React Patterns

- Use functional components
- Extract custom hooks for reusable logic
- Colocate styles with components

Checklist

  • [ ] File is .mdc format in .cursor/rules/
  • [ ] Frontmatter configured correctly
  • [ ] Content under 500 lines
  • [ ] Includes concrete examples

# README.md

Skills-SynLinks

Repositorio de Agent Skills compartidas con una sola fuente de verdad (.skills/) y enlaces simbólicos para que cada agente (Cursor, Claude, Codex, GitHub) lea desde la carpeta que espera.

Repositorio oficial: https://github.com/LucianoZunigaC/Skills-SynLinks

¿Funciona en todos los sistemas?

Comportamiento Linux / macOS Windows
Al hacer git clone Git crea los symlinks automáticamente si el repo los tiene guardados. Necesita git config core.symlinks true y, a veces, permisos (Modo desarrollador o Admin). Si no, hay que ejecutar el script después del clone.
Actualizar un skill Editas solo en .skills/; el resto son enlaces al mismo contenido, se “actualizan solos”. Igual: un solo lugar (.skills/), el resto son enlaces.
Crear los symlinks ./setup-symlinks.sh (o bash setup-symlinks.sh). .\setup-symlinks.ps1 (PowerShell; puede requerir Admin o Modo desarrollador).

Los symlinks son estándar de Git: si el repo ya incluye los enlaces (creados desde Linux, macOS o WSL y subidos con git add + commit + push), al hacer clone en Linux o Mac los symlinks ya vienen hechos. En Windows, o Git los recrea (con core.symlinks true y permisos) o ejecutas el script una vez después de clonar.

Estructura

├── .skills/                    # ← Fuente única: edita solo aquí
│   ├── create-rule/
│   │   └── SKILL.md
│   ├── create-skill/
│   ├── create-subagent/
│   ├── update-cursor-settings/
│   └── migrate-to-skills/
├── .claude/
│   └── skills   → symlink a .skills
├── .cursor/
│   └── skills   → symlink a .skills
├── .codex/
│   └── skills   → symlink a .skills
├── .github/
│   └── skills   → symlink a .skills
├── setup-symlinks.sh            # Linux, macOS, WSL, Git Bash
├── setup-symlinks.ps1           # Windows (PowerShell)
└── README.md

Cualquier cambio en .skills/ se refleja en .claude/skills, .cursor/skills, etc., porque son enlaces al mismo contenido (en todos los sistemas).


Sigue estos pasos para clonar en Windows y dejar los enlaces simbólicos funcionando. Así, cuando edites algo en .skills/, se actualizará solo en ese sitio y el resto de carpetas (.claude/skills, .cursor/skills, etc.) lo verán automáticamente.

Abre PowerShell o CMD y ejecuta:

git config --global core.symlinks true

Así Git no convertirá los enlaces en copias al clonar.

  • Opción A – Modo desarrollador (recomendado):
    ConfiguraciónPrivacidad y seguridadPara desarrolladores → activar Modo de desarrollador.
    No necesitas volver a hacer esto para cada clone.

  • Opción B – Sin Modo desarrollador:
    Abre PowerShell como administrador (clic derecho → “Ejecutar como administrador”) cuando vayas a clonar o cuando ejecutes el script del paso 4.

3. Clonar el repositorio

En la carpeta donde quieras el proyecto (por ejemplo Documents o Proyectos):

cd C:\Users\TuUsuario\Documents
git clone https://github.com/LucianoZunigaC/Skills-SynLinks.git
cd Skills-SynLinks

Sustituye TuUsuario por tu usuario de Windows si hace falta.

Comprueba si ya existen los enlaces:

   Get-Item .claude\skills | Select-Object LinkType, Target

Si ves LinkType: SymbolicLink y Target apuntando a .skills, ya están listos y puedes saltar al paso 5.

Si no existen o son carpetas normales (no enlaces), en la raíz del repo (Skills-SynLinks) ejecuta:

.\setup-symlinks.ps1
  • Con Modo desarrollador activado: abre PowerShell normal.
  • Sin Modo desarrollador: abre PowerShell como administrador.

Si skills aparece como ".symlink" o no puedes abrirlo en el Explorador: el enlace que creó Git al clonar a veces no funciona como carpeta en Windows. En la raíz del repo, ejecuta .\setup-symlinks.ps1 (como administrador o con Modo desarrollador). El script quita ese enlace y crea uno nuevo que sí se puede abrir y que refleja los cambios de .skills/.

5. Comprobar que todo funciona

  • Entra en .skills\create-rule\ y abre SKILL.md, cambia una línea y guarda.
  • Abre .claude\skills\create-rule\SKILL.md (o .cursor\skills\create-rule\SKILL.md).
    Debe mostrar el mismo cambio sin hacer nada más.

Si es así, los symlinks están bien: solo editas en .skills/ y las demás carpetas se actualizan solas.

Resumen rápido (Windows)

Paso Qué hacer
1 git config --global core.symlinks true
2 Activar Modo desarrollador o usar PowerShell como Admin cuando haga falta
3 git clone ... y cd Skills-SynLinks
4 Si no hay enlaces: .\setup-symlinks.ps1
5 Editar solo en .skills/; el resto se actualiza solo

Linux / macOS / WSL / Git Bash

chmod +x setup-symlinks.sh   # solo la primera vez
./setup-symlinks.sh

Si el repo ya trae symlinks guardados, a menudo no hace falta hacer nada; solo ejecuta el script si al clonar no ves enlaces o te salen carpetas copiadas.

Windows (PowerShell)

En Windows los symlinks pueden requerir Modo desarrollador o PowerShell como administrador:

  • Modo desarrollador: Configuración → Privacidad y seguridad → Para desarrolladores → Modo de desarrollador.
  • O: clic derecho en PowerShell → “Ejecutar como administrador”.

En la raíz del repo:

.\setup-symlinks.ps1

Recomendado para que Git no convierta symlinks en copias:

git config core.symlinks true

Para que al hacer git clone los symlinks vengan creados donde el sistema lo permita:

  1. Crear los symlinks en tu máquina:
  2. Linux / macOS / WSL: ./setup-symlinks.sh
  3. Windows: .\setup-symlinks.ps1 (con permisos si hace falta).
  4. Guardarlos en Git (si tu Git tiene symlinks activos):
    bash git config core.symlinks true git add .claude/skills .cursor/skills .codex/skills .github/skills git commit -m "Añadir symlinks de skills" git push

A partir de ahí:

  • Linux / macOS: al hacer git clone, los symlinks suelen aparecer solos.
  • Windows: con core.symlinks true y permisos, Git puede crearlos al clonar; si no, basta con ejecutar .\setup-symlinks.ps1 una vez después del clone.

Resumen

Pregunta Respuesta
¿Funciona en Ubuntu, Mac y Windows? Sí: mismo repo; en cada OS usas el script que toca (.sh o .ps1).
¿Si actualizo un skill se actualiza en las demás carpetas? Sí: solo editas en .skills/; el resto son enlaces a esa carpeta.
¿El clone puede venir ya con los symlinks? En Linux/Mac sí (si el repo tiene los symlinks guardados). En Windows a veces; si no, un solo .\setup-symlinks.ps1 después del clone.

Skills incluidas: create-rule, create-skill, create-subagent, update-cursor-settings, migrate-to-skills.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.