Setup Caliber logo

Setup Caliber

OrganizationPopular
caliber-ai-org
setup-caliber

Sets up Caliber for automatic AI agent context sync. Installs pre-commit hooks so CLAUDE.md, Cursor rules, and Copilot instructions update automatically on every commit. Use when Caliber hooks are not yet installed or when the user asks about keeping agent configs in sync.

Overview

Publishercaliber-ai-org
Repositoryai-setup
Skill namesetup-caliber
Stars
1.3K
Forks
124
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by caliber-ai-org on GitHub. Read the source before you install it.

Installation

Install the Setup Caliber AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/caliber-ai-org/ai-setup.git /tmp/ai-setup
mkdir -p .claude/skills
cp -r /tmp/ai-setup/skills/setup-caliber .claude/skills/setup-caliber
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Setup Caliber in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Setup Caliber on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Setup Caliber is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Setup Caliber

Dynamic onboarding for Caliber — automatic AI agent context sync. Run all diagnostic steps below on every invocation to determine what's already set up and what still needs to be done.

Instructions

Run these checks in order. For each step, check the current state first, then only act if something is missing.

Step 1: Check if Caliber is installed

bash
command -v caliber >/dev/null 2>&1 && caliber --version || echo "NOT_INSTALLED"
  • If a version prints → Caliber is installed globally. Set CALIBER="caliber" and move to Step 2.

  • If NOT_INSTALLED → Install it globally (faster for daily use since the pre-commit hook runs on every commit):

    bash
    npm install -g @rely-ai/caliber

    Set CALIBER="caliber".

    If npm fails (permissions, no sudo, etc.), fall back to npx:

    bash
    npx @rely-ai/caliber --version 2>/dev/null || echo "NO_NODE"
    • If npx works → Set CALIBER="npx @rely-ai/caliber". This works but adds ~500ms per invocation.
    • If NO_NODE → Tell the user: "Caliber requires Node.js >= 20. Install Node first, then run /setup-caliber again." Stop here.

Step 2: Check if pre-commit hook is installed

bash
grep -q "caliber" .git/hooks/pre-commit 2>/dev/null && echo "HOOK_ACTIVE" || echo "NO_HOOK"
  • If HOOK_ACTIVE → Tell the user: "Pre-commit hook is active — configs sync on every commit." Move to Step 3.
  • If NO_HOOK → Tell the user: "I'll install the pre-commit hook so your agent configs sync automatically on every commit."
    bash
    $CALIBER hooks --install

Step 3: Detect agents and check if configs exist

First, detect which coding agents are configured in this project:

bash
AGENTS=""
[ -d .claude ] && AGENTS="claude"
[ -d .cursor ] && AGENTS="${AGENTS:+$AGENTS,}cursor"
[ -d .agents ] || [ -f AGENTS.md ] && AGENTS="${AGENTS:+$AGENTS,}codex"
[ -f .github/copilot-instructions.md ] && AGENTS="${AGENTS:+$AGENTS,}github-copilot"
echo "DETECTED_AGENTS=${AGENTS:-none}"

If no agents are detected, ask the user which coding agents they use (Claude Code, Cursor, Codex, GitHub Copilot). Build the agent list from their answer as a comma-separated string (e.g. "claude,cursor").

Then check if agent configs exist:

bash
echo "CLAUDE_MD=$([ -f CLAUDE.md ] && echo exists || echo missing)"
echo "CURSOR_RULES=$([ -d .cursor/rules ] && ls .cursor/rules/*.mdc 2>/dev/null | wc -l | tr -d ' ' || echo 0)"
echo "AGENTS_MD=$([ -f AGENTS.md ] && echo exists || echo missing)"
echo "COPILOT=$([ -f .github/copilot-instructions.md ] && echo exists || echo missing)"
  • If configs exist for the detected agents → Tell the user which configs are present. Move to Step 4.
  • If configs are missing → Tell the user: "No agent configs found. I'll generate them now." Use the detected or user-selected agent list:
    bash
    $CALIBER init --auto-approve --agent <comma-separated-agents>
    For example: $CALIBER init --auto-approve --agent claude,cursor This generates CLAUDE.md, Cursor rules, AGENTS.md, skills, and sync infrastructure for the specified agents.

Step 4: Check if configs are fresh

bash
$CALIBER score --json --quiet 2>/dev/null | head -1
  • If score is 80+ → Tell the user: "Your configs are in good shape (score: X/100)."
  • If score is below 80 → Tell the user: "Your configs could be improved (score: X/100). Want me to run a refresh?" If yes:
    bash
    $CALIBER refresh

Step 5: Ask about team setup

Ask the user: "Are you setting up for yourself only, or for your team too?"

  • If solo → Continue with solo setup:

    Check if session learning is enabled:

    bash
    $CALIBER learn status 2>/dev/null | head -3
    • If learning is already enabled → note it in the summary.
    • If not enabled → ask the user: "Caliber can learn from your coding sessions — when you correct a mistake or fix a pattern, it remembers for next time. Enable session learning?" If yes:
      bash
      $CALIBER learn install

    Then tell the user: "You're all set! Here's what happens next:

    • Every time you commit, Caliber syncs your agent configs automatically
    • Your CLAUDE.md, Cursor rules, and AGENTS.md stay current with your code
    • Run $CALIBER skills anytime to discover community skills for your stack"

    Then show the summary (see below) and stop.

  • If team → Check if the GitHub Action already exists:

    bash
    [ -f .github/workflows/caliber-sync.yml ] && echo "ACTION_EXISTS" || echo "NO_ACTION"
    • If ACTION_EXISTS → Tell the user: "GitHub Action is already configured."

    • If NO_ACTION → Tell the user: "I'll create a GitHub Action that syncs configs nightly and on every PR." Write this file to .github/workflows/caliber-sync.yml:

      yaml
      name: Caliber Sync
      on:
        schedule:
          - cron: '0 3 * * 1-5'
        pull_request:
          types: [opened, synchronize]
        workflow_dispatch:
      jobs:
        sync:
          runs-on: ubuntu-latest
          steps:
            - uses: actions/checkout@v4
            - uses: caliber-ai-org/ai-setup@v1
              with:
                mode: sync
                auto-refresh: true
                comment: true
                github-token: ${{ secrets.GITHUB_TOKEN }}
              env:
                ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

      Now determine which LLM provider the team uses. Check the local Caliber config:

      bash
      $CALIBER config --show 2>/dev/null || echo "NO_CONFIG"

      Based on the provider, the GitHub Action needs the corresponding secret:

      • anthropicANTHROPIC_API_KEY
      • openaiOPENAI_API_KEY
      • vertexVERTEX_PROJECT_ID and GOOGLE_APPLICATION_CREDENTIALS (service account JSON)

      Update the workflow env block to match the provider. For example, if using OpenAI:

      yaml
              env:
                OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

      Then check if the gh CLI is available to set the secret:

      bash
      command -v gh >/dev/null 2>&1 && echo "GH_AVAILABLE" || echo "NO_GH"
      • If GH_AVAILABLE → Ask the user for their API key and set it:
        bash
        gh secret set ANTHROPIC_API_KEY
        (This prompts for the value securely via stdin)
      • If NO_GH → Tell the user exactly what to do: "Go to your repo on GitHub → Settings → Secrets and variables → Actions → New repository secret. Name: ANTHROPIC_API_KEY (or OPENAI_API_KEY depending on provider) Value: your API key"

      Finally, offer to commit and push the workflow file:

      bash
      git add .github/workflows/caliber-sync.yml
      git commit -m "feat: add Caliber sync GitHub Action"
      git push

Summary

After completing all steps, show the user what's configured:

Caliber Setup Complete:
✓ Caliber installed (vX.X.X)
✓ Pre-commit hook — configs sync on every commit
✓ Agent configs — CLAUDE.md, Cursor rules, AGENTS.md
✓ Config score: X/100
✓ GitHub Action — nightly sync + PR checks (team only)

From now on, every commit keeps all your agent configs in sync automatically.

When to trigger

  • When a developer first opens this project
  • When the user asks about keeping agent configs up to date
  • When the user asks "how do I set up Caliber" or "what is Caliber"
  • When the user sees a message saying "Run /setup-caliber to get set up"

When NOT to trigger

  • The user is in the middle of time-sensitive work

Frequently asked questions

What does the Setup Caliber AI skill do?

Sets up Caliber for automatic AI agent context sync. Installs pre-commit hooks so CLAUDE.md, Cursor rules, and Copilot instructions update automatically on every commit. Use when Caliber hooks are not yet installed or when the user asks about keeping agent configs in sync.

Why use Setup Caliber on TypingMind?

Because you install it once and use it with any model. Setup Caliber is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Setup Caliber in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/caliber-ai-org/ai-setup/tree/master/skills/setup-caliber. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Setup Caliber?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Setup Caliber?

As many as you like. As long as a model supports skills, you can use Setup Caliber with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Setup Caliber AI skill free?

Yes. It is published on GitHub by caliber-ai-org under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇