GitHub repo

Playbook

One repo of agent rules and skills, generated into Claude Code, Cursor and other coding agents, so every project gets the same instructions from a single source.

rulesyncMarkdownNodeAI
.rulesync/rules/git.md
---
root: false
targets: ["claudecode", "cursor"]
description: "Git commit conventions: message format…"
globs: []
cursor:
alwaysApply: true
---
<!-- playbook:git v5 (2026-10-08) — when to commit isn't inferred from a change instruction -->
<!-- source: andrej-kolic/playbook .rulesync/rules/git.md; edits elsewhere are overwritten -->
# Git Commit Conventions
Governs commit message content, commit granularity…

The problem

Each coding agent reads its instructions from its own place: Claude Code from .claude/rules/, Cursor from .cursor/rules/, others from their own folders. Keeping commit, testing and writing rules by hand in every project and every agent means the copies drift, and a stale one keeps applying without anyone noticing.

The approach

Rules and skills are written once, under .rulesync/, and rulesync generates each agent’s copy from them. Skills install once per machine, with pnpm dlx github:andrej-kolic/playbook skills, and work in every project — x-issue-to-pr, for one, takes a GitHub issue through branch and pull request. Rules install per project, with … playbook rules, and the project commits them, so cloud sessions and review bots get them without an install step and a rule change shows up in review.

Every generated file starts with a playbook:<name> vN (date) line, so a stale copy is visible to anyone who opens it, and a source line that says where to edit instead.

The tradeoffs

Snapshots, not links. A generated copy doesn’t update itself. After a rule changes, a project keeps applying the old text until it runs pnpm rules:update; pnpm rules:outdated lists the rules that changed, but nothing updates them on its own.

Only hosts a skill runs in. A skill lists the agents it is actually used in, not every agent rulesync can target. A skill that calls Cursor’s CLI from Claude Code is not a Cursor skill.