Skip to content

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

cinch β€” Universal agents and skills for every harness.

Universal skills and agents for every AI harness. Author once, wire anywhere.

GitHub stars MIT license CI Status codecov PyPI 9 Supported Harnesses UV Powered 100% Local First

Cinch CLI animated terminal recording
See Cinch inspect local inventory and wire skills across harnesses in milliseconds.


πŸ’‘ Why Cinch?

The AI coding assistant ecosystem is deeply fragmented. Every developer and team uses different tools:

  • Claude Code stores skills in .claude/skills/<n>/SKILL.md
  • Cursor & Codex standardize on .agents/skills/<n>/SKILL.md
  • GitHub Copilot expects .github/instructions/<n>.instructions.md with YAML applyTo
  • Gemini CLI requires commands in .gemini/commands/<n>.toml with raw prompt blocks
  • Windsurf / Devin parses .devin/rules/<n>.md with strict character limits
  • Cline reads .clinerules/<n>.md
  • Aider ignores unconfigured files and requires entries appended to .aider.conf.yml

Whenever you switch harnesses, try a new AI tool, or share custom workflows with your team, you're forced to manually rewrite prompt files, reformat frontmatter, and hunt down obscure config paths.

Cinch is the universal translation bridge. It scans your existing local skills and agents, translates them through native dialect adapters, and attaches them directly into any project workspace. No proprietary marketplaces, no redundant skill librariesβ€”just one CLI to bring your favorite skills everywhere.


⚑ Quickstart

Run Cinch instantly with zero installation using Astral uvx:

# Interactive wizard: discover skills and pick target harnesses
uvx cinch-init

Or instantly wire your skills into multiple harnesses in a single non-interactive command:

# Translate Claude skills into Cursor, GitHub Copilot, and Gemini CLI simultaneously
uvx cinch-init --from-harness claude --harness cursor,copilot,gemini --skills humanizer --yes

You can also install Cinch globally:

# Using pipx or pip
pipx install cinch-init
# or
pip install cinch-init

πŸ”„ One Skill, Every Dialect (The Rosetta Stone)

Author your workflow once in standard Markdown. Cinch translates it into each harness's native format on the fly.

Source: ~/.claude/skills/humanizer/SKILL.md

---
name: humanizer
description: Convert robotic AI prose into punchy engineering writing
paths:
  - "**/*.md"
---
# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.

Native Translations Generated by Cinch:

Cursor & Codex (.agents/skills/humanizer/SKILL.md)
---
name: "humanizer"
description: "Convert robotic AI prose into punchy engineering writing"
paths:
  - "**/*.md"
---

# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.
GitHub Copilot (.github/instructions/humanizer.instructions.md)
---
applyTo:
  - "**/*.md"
description: "Convert robotic AI prose into punchy engineering writing"
---

# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.
Gemini CLI (.gemini/commands/humanizer.toml)
description = "Convert robotic AI prose into punchy engineering writing"
prompt = """
# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.
"""
Windsurf / Devin (.devin/rules/humanizer.md)
---
trigger: "manual"
description: "Convert robotic AI prose into punchy engineering writing"
globs:
  - "**/*.md"
---

# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.
Aider (.aider/humanizer.md + .aider.conf.yml merge)

File .aider/humanizer.md:

# humanizer

> Convert robotic AI prose into punchy engineering writing

# Humanizer Guidelines
- Cut throat-clearing openers ("Certainly! Here is...").
- Use active voice and concrete verbs.

Merged safely into .aider.conf.yml:

read:
  - ".aider/humanizer.md"

🀝 Supported Harness Matrix

Every mapping is backed by vendor documentation and verified through automated conformance tests.

Harness Skill Destination Frontmatter Schema Notes / Standards
Claude Code .claude/skills/<n>/SKILL.md Verbatim passthrough Native Anthropic skill format
Cursor .agents/skills/<n>/SKILL.md name, description, paths Emerging cross-vendor .agents standard
Codex .agents/skills/<n>/SKILL.md name, description, paths Supports disable-model-invocation
GitHub Copilot .github/instructions/<n>.instructions.md applyTo, description Native Copilot instruction rules
Gemini CLI .gemini/commands/<n>.toml description, prompt (TOML) Validated TOML prompt command schema
Windsurf .devin/rules/<n>.md trigger, description, globs 12,000 character limit pointer fallback
Cline .clinerules/<n>.md paths Clean markdown rule injection
OpenCode .opencode/commands/<n>.md description Native command configuration
Aider .aider/<n>.md None (Markdown body) Automatically merges read: in .aider.conf.yml

Planned Harnesses: Grok CLI, Continue.


πŸ› οΈ Command Reference

# 1. Discover harnesses detected on your machine
cinch harnesses

# 2. Inspect available skills, agents, commands, and hooks on disk
cinch inventory --harness claude
cinch inventory --harness cursor --purpose security

# 3. Preview how a skill translates without writing any files
cinch preview humanizer --target copilot
cinch preview security-auditor --from-dir examples/skills --target gemini

# 4. Interactive init wizard (prompts for starter skills if none on disk)
cinch init

# 5. Wire curated starter skills into multiple harnesses instantly
cinch init --starter --harness cursor,copilot,gemini --yes

# 6. Multi-target cross-harness wiring (non-interactive)
cinch init \
  --from-harness claude \
  --harness cursor,copilot,gemini,windsurf \
  --skills humanizer,security-auditor \
  --yes

# 7. Check workspace sync & wired file integrity
cinch status

# 8. Inspect workspace drift with syntax-highlighted unified diffs
cinch diff

# 9. Validate & lint SKILL.md files against dialect best practices
cinch check
cinch check examples/skills/docker-deploy

# 10. Attach from an external skills repository or checkout
cinch init --from-dir examples/skills --harness cursor,copilot --yes

CLI Flags

Flag Description
--from-harness <id> Source harness to read skills from (auto-detected if only one is on disk).
--harness <list> Target harness(es) to wire (comma-separated list, e.g. cursor,copilot,gemini).
--starter Include curated starter skills (humanizer, security-auditor, test-writer, git-commit).
--skills <list> Comma-separated list of skill names to attach.
--agents <list> Comma-separated list of agent names to attach.
--commands <list> Comma-separated list of commands/prompts to attach.
--hooks <list> Comma-separated list of hooks (preserved only when target matches source).
--purpose <catalog> Filter inventory by category: python, ml, data, web, docs, security, agents.
--from-dir <path> Extra local root directory containing skills or agents to inventory.
--dry-run Preview the exact files and paths without writing anything to disk.
--yes Non-interactive execution (accept defaults or provided flags).

⚑ Blistering Performance

Cinch is written in pure, dependency-light Python and designed for microsecond-scale execution. Running the included benchmark suite (benchmark/run.py):

Operation Throughput Latency
Frontmatter Parsing 245,000+ skills/s 4.0 Β΅s
9-Dialect Translation 500,000+ dialects/s 0.02 ms / skill
End-to-End Plan & Disk Wire 800+ skills/s 1.2 ms / skill

Zero perceptible lag in your CLI or agent loops.


🧱 Architecture: The 3-Stage Pipeline

Cinch never performs direct, naive file copying between disparate tools. Instead, it processes assets through a clean, verifiable translation pipeline:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Source Item on Disk    β”‚ (e.g. ~/.claude/skills/humanizer/SKILL.md)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚ parse_doc()
             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Canonical Doc       β”‚ (Unified AST: name, description, body, paths, support)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚ Adapter.render()
             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      RenderedFiles      β”‚ (Tailored to each target dialect + merge rules)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚ apply_plan()
             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Verified Project Files β”‚ + .cinch.json execution audit manifest
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The Inline vs. Pointer Rule

  • Inline by default: The skill body is written directly into the target's native file with correctly translated frontmatter.
  • Pointer when limits or assets require it: If a skill exceeds documented per-file limit (e.g., Windsurf's 12,000 character rule threshold) or bundles supporting scripts (scripts/, references/), Cinch copies the support directory to .cinch/skills/<name>/ and creates a native adapter file pointing to it.

πŸ›‘οΈ Trust & Safety Guarantees

  • πŸ”’ 100% Local-First: Runs entirely on your local machine. No telemetry, no cloud dependencies, no network requests.
  • πŸ›‘οΈ Zero Destructive Overwrites: Existing hand-crafted rule files are never silently replaced (outcome: "exists").
  • πŸ“ Verifiable Manifest: Every run updates .cinch.json with an exact audit trail of files written, merged, or skipped.

🌟 Community & Contributing

Contributions are warmly welcome! Whether adding an adapter for a new harness, refining prompts, or improving test fixtures:

If Cinch saves you time wiring AI workflows, please consider giving it a ⭐ on GitHub!

About

Universal skills and agents for every AI harness. Author once, wire anywhere: Claude Code, Cursor, Codex, Copilot, Gemini CLI, Windsurf, Cline, Aider.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages