Skip to main content

Git-native CLI for versioning AI Skill packages: prompts, schemas, golden tests, and release artifacts.

Project description

sit

Git-native versioning for AI Skill packages.

sit adds a semantic layer on top of Git for AI Skills — prompts, schemas, golden tests, runners, and release artifacts. It classifies changes by risk, generates reviewer-ready diffs, and gates commits and releases.

Why sit?

Pure Git sit
Prompt change +13 -2 lines "Prompt changed (+13 -2); headings: Core Rule, Workflow"
Schema update raw JSON diff "breaking" vs "review-required" classification
Golden tests manual or none sit test . runs stored cases; --run calls your runner
Version bump gut feeling risk-based gate: patch/minor/major suggested by change type
PR review read every file sit pr-summary generates structured Markdown

Install

pip install sit-toolkit
sit --version

Python 3.10+ required. Or install from source:

git clone https://github.com/OpenRaiser/SitHub.git
cd SitHub
pip install -e .

Quick Start

# Create a new Skill package
sit init my-skill
cd my-skill

# Or standardize an existing project
cd /path/to/existing-project
sit standardize .

# Validate and test
sit validate .
sit test .

# See what changed
sit diff HEAD~1..HEAD

# Generate a PR summary
sit pr-summary HEAD~1..HEAD

# Release with a version gate
sit release minor . --bundle

Commands

Command What it does
sit init <name> Create a new Skill package
sit standardize . Convert an existing project into a standard Skill package
sit onboard . Conservatively add sit files to a SKILL.md project
sit doctor . Check onboarding readiness
sit validate . Validate manifest, schemas, and golden cases
sit test . Run golden tests
sit test . --run Run cases through your configured runner
sit diff A..B Semantic diff for Git refs
sit diff A..B --prompt Include prompt/reference text diff
sit pr-summary A..B Generate PR-ready Markdown
sit report . --compare A..B Generate Markdown/JSON/HTML report
sit ci-summary . --compare A..B Generate GitHub Actions summary
sit deps check . Check deps.yaml dependencies
sit commit -m "..." Validate/test/version-gate before commit
sit release minor . --bundle Bump version, tag, and write release bundle

Git passthrough: sit add, sit push, sit pull, sit branch, sit checkout, sit log.

Package Layout

my-skill/
  skill.yaml              # manifest
  prompts/system.md       # prompt files
  schemas/                # input/output JSON schemas
  tests/golden.jsonl      # golden test cases
  scripts/run_case.py     # optional runner
  assets/                 # scanned by semantic diff
  references/             # scanned by semantic diff
  CHANGELOG.md

Semantic Diff Example

Skill Diff
Baseline: paper-webpage-builder@0.3.0
Current: paper-webpage-builder@0.4.0
Risk: review-required
Suggested version bump: minor

[prompt]
  - PROMPT changed skill: SKILL.md -> SKILL.md (+13 -2; headings: Paper Webpage Builder, Core Rule, Workflow)

[script]
  - SCRIPT changed scripts/scan_paper.py (review required; cover with runner or targeted tests)

[reference]
  - REFERENCE changed references/design_principles.md (+27 -3; headings: Design Principles, Fit the Paper)

CI Integration

sit init, sit standardize, and sit onboard create a GitHub Actions workflow:

sit validate "$SIT_PACKAGE_DIR"
sit test "$SIT_PACKAGE_DIR"
sit test "$SIT_PACKAGE_DIR" --run
sit ci-summary "$SIT_PACKAGE_DIR" --compare origin/main..HEAD >> "$GITHUB_STEP_SUMMARY"

Agent Integration

sit can be called by AI agents in three ways:

Python SDK

from sit.sdk import Sit

s = Sit("./my-skill-package")
info = s.info()          # sit.info.v1 contract
test = s.test()          # sit.test.v1 contract
diff = s.diff("./old")   # sit.diff.v1 contract
pr = s.pr_summary("./old")  # sit.pr_summary.v1 contract
report = s.report(compare="./old")  # sit.report.v1 contract

MCP Server

Install with MCP support and run the stdio server:

pip install 'sit-toolkit[mcp]'
sit-mcp-server

Or configure in your MCP client (e.g., Claude Desktop):

{
  "mcpServers": {
    "sit": {
      "command": "sit-mcp-server"
    }
  }
}

Exposes 7 tools: sit_info, sit_validate, sit_test, sit_diff, sit_pr_summary, sit_report, sit_doctor.

LLM Tool-Use Schema

from sit.tool_use import get_tools_openai, get_tools_anthropic

# For OpenAI
tools = get_tools_openai()
response = client.chat_completion(messages=..., tools=tools)

# For Anthropic Claude
tools = get_tools_anthropic()
response = client.messages.create(messages=..., tools=tools)

Research

sit has been validated through multi-agent experiments on AI Skill packaging workflows. See:

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sit_toolkit-0.20.0.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sit_toolkit-0.20.0-py3-none-any.whl (65.8 kB view details)

Uploaded Python 3

File details

Details for the file sit_toolkit-0.20.0.tar.gz.

File metadata

  • Download URL: sit_toolkit-0.20.0.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sit_toolkit-0.20.0.tar.gz
Algorithm Hash digest
SHA256 85ce673f74cbaed0acc7e6b74392208ef87c83e448bc15fbc76664d939968438
MD5 a2c30c54e3656aac4d8e6b69af1a5517
BLAKE2b-256 81c9967a88a63567dbca194e2df3f45ba6c055fa14d05320e578dcf5066c260b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sit_toolkit-0.20.0.tar.gz:

Publisher: release.yml on OpenRaiser/SitHub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sit_toolkit-0.20.0-py3-none-any.whl.

File metadata

  • Download URL: sit_toolkit-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 65.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sit_toolkit-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39f5252924d703f7f431b946b7adc1f263282a67e51f762134d3a1905f671c4b
MD5 cfbe913c8bc280d2c40c318c657470bf
BLAKE2b-256 7549256b56bd6693df1fb74bc73ac291b3a3c06b51a1972ebdee016db144fb03

See more details on using hashes here.

Provenance

The following attestation bundles were made for sit_toolkit-0.20.0-py3-none-any.whl:

Publisher: release.yml on OpenRaiser/SitHub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page