Syntic
← All skills
EngineeringFreeCommunityv1.0.0

promote

Use when graduating a proven pattern from auto-memory (MEMORY.md) to SYNTIC.md or .syntic/rules/ for permanent enforcement.

About this skill

Use when graduating a proven pattern from auto-memory (MEMORY.md) to SYNTIC.md or .syntic/rules/ for permanent enforcement.

SKILL.md

promote.SKILL.md

Place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.

SKILL.md
---
name: promote
description: Use when graduating a proven pattern from auto-memory (MEMORY.md) to SYNTIC.md or .syntic/rules/ for permanent enforcement.
category: Engineering
version: 1.0.0
tools: []
---

# Promote β€” Graduate Learnings to Rules

Move a proven pattern from auto-memory into the project's rule system, where it becomes enforced instruction.

## Workflow

### Step 1: Parse the Pattern

Extract from user input:
- **What**: The concrete fact or pattern
- **Why it matters**: Context
- **Scope**: Project-specific or global?

### Step 2: Search Auto-Memory

Find related entries in MEMORY.md. Show matching entries and confirm they match the user's intent.

### Step 3: Determine Target

| Pattern Scope | Target | Example |
|---|---|---|
| Entire project | `./SYNTIC.md` | "Use pnpm, not npm" |
| Specific file types | `.syntic/rules/<topic>.md` | "API handlers need validation" |
| All projects | `~/.syntic/SYNTIC.md` | "Prefer explicit error handling" |

### Step 4: Distill Rule

Transform from descriptive note to prescriptive instruction:
- One line per rule when possible
- Imperative voice: "Use X", "Always Y", "Never Z"
- Include the command or example, not just concept
- No backstory; just the instruction

Example:
- Before: "The project uses pnpm workspaces. When I tried npm install it failed."
- After: "Package manager: pnpm (not npm). Use `pnpm install`."

### Step 5: Write to Target

**For SYNTIC.md:**
1. Read existing SYNTIC.md
2. Find the appropriate section or create one
3. Append the new rule
4. If exceeding 200 lines, suggest `.syntic/rules/` instead

**For `.syntic/rules/`:**
1. Create file if missing
2. Add YAML frontmatter with `paths` if scoped
3. Write rule content

### Step 6: Clean Up Auto-Memory

After promoting, remove the original entry from MEMORY.md. Ask user to confirm.

### Step 7: Confirm Completion

Verify: rule distilled, written to target, removed from auto-memory, SYNTIC.md/rules updated.

## Promotion Decision Guide

### Promote When:
- Pattern appeared 3+ times in auto-memory
- Corrected Claude about it multiple times
- Any contributor should know it
- It prevents recurring mistakes

### Don't Promote When:
- One-time debugging note
- Session-specific context
- Might change soon
- Already covered by existing rules

## SYNTIC.md vs .syntic/rules/

| Use SYNTIC.md for | Use .syntic/rules/ for |
|---|---|
| Global project rules | File-type-specific patterns |
| Build commands | Testing conventions |
| Architecture decisions | API design rules |
| Team conventions | Framework-specific gotchas |

Install

Syntic App

  1. 1Create a dedicated folder for this skill in your local skills library.
  2. 2Place SKILL.md into that folder.
  3. 3Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1Save SKILL.md in your local Syntic Code skills directory.
  2. 2Keep related files in the same skill folder.
  3. 3Run in a safe environment and validate outputs.