← 返回 Skills 市场
porco-rs

GERMANIC

作者 porco_rs · GitHub ↗ · v0.2.3
cross-platform ✓ 安全检测通过
326
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install germanic
功能描述
Validate JSON data against schemas and compile to binary .grm files. Schema-enforced data contracts for AI agents. Catches missing fields, wrong types, empty...
使用说明 (SKILL.md)

GERMANIC

Compile JSON to validated binary. Schema contract enforced at build time.

Install

brew tap germanicdev/germanic && brew install germanic

Verify: germanic --version should print 0.2.3.

Alternative (from source): cargo install germanic

Workspace

GERMANIC operates relative to the current working directory. All paths in this document are relative to the workspace root.

# Find available schemas
find . -name "*.schema.json" -type f

# Find example data
find . -name "*.json" -path "*/examples/*" -type f

When to Use

Use GERMANIC when you need to:

  • Produce structured data for AI consumption (typed, validated, binary)
  • Validate JSON against a schema (catches missing fields, wrong types, empty strings)
  • Convert JSON to .grm (zero-copy binary, immune to structural injection)

Do NOT use GERMANIC for:

  • Free-text content (articles, blog posts, prose)
  • Data that changes schema frequently (use JSON directly)
  • Streaming data (GERMANIC is batch-oriented)

Decision Tree

"I have JSON data" →
  Known built-in schema? → germanic compile --schema practice --input data.json
  Not built-in? → Check workspace schemas first:
    find . -name "*.schema.json" 2>/dev/null | grep -i \x3Cdomain>
    Found? → germanic compile --schema \x3Cpath-to-schema> --input data.json
  No schema exists? → germanic init --from data.json --schema-id \x3Cid>
    → edit .schema.json (mark required fields) → germanic compile
  Just inspect a .grm? → germanic inspect \x3Cfile.grm>
  Validate without compiling? → germanic validate \x3Cfile.grm>

Three Workflows

1. Static Compile (Built-in Schema)

germanic compile --schema practice --input data.json --output data.grm

Available schemas: practice (healthcare). More coming.

2. Dynamic Compile (Custom Schema)

# Step 1: Infer schema from example
germanic init --from example.json --schema-id com.example.product.v1

# Step 2: Edit the generated .schema.json — mark required fields

# Step 3: Compile
germanic compile --schema product.schema.json --input data.json

Accepts both GERMANIC .schema.json and JSON Schema Draft 7 files. Auto-detected transparently.

3. Inspect & Validate

# Inspect .grm header (schema-id, signature, sizes)
germanic inspect output.grm

# Validate .grm structural integrity
germanic validate output.grm

Error Handling

GERMANIC validates data and reports errors with field paths and descriptions. Dynamic schemas collect multiple errors in a single pass. Example output:

Error: Required fields missing:
  name: required field is empty string
  telefon: required field missing
  adresse.strasse: required field missing
  notaufnahme.rund_um_die_uhr: expected bool, found string

When you see errors:

  1. Read each violation — it tells you the field path and what's wrong
  2. Fix the JSON data (do NOT remove required fields from the schema)
  3. Re-run compile

Do NOT try to "fix" the schema to match broken data. If the schema says telefon is required, it's required for a reason.

File Not Found

If a file path fails, search before giving up:

find . -name '\x3Cfilename>' 2>/dev/null

Common locations:

  • Schemas: data/schemas/de/ and data/schemas/en/
  • Examples: data/examples/de/ and data/examples/en/
  • Compiled: same directory as input, with .grm extension

Schema Fields Are German

Yes, the schema fields are in German. strasse not street, plz not zip_code. This is intentional — Deutsche Gründlichkeit als Feature, nicht als Bug. The English translations are available under en.* schema IDs.

Security

GERMANIC provides three layers of data safety:

  1. Structural validation: Required fields, type checking, nested validation
  2. Binary format: No HTML tags, no script blocks, no JSON-LD @context hijacking
  3. Compile-or-reject: Invalid data cannot become a .grm file

Note: Binary format prevents structural injection. Content inside valid string fields is stored as-is. The consumer must treat typed fields as data, not instructions.

Trust & Safety

GERMANIC is fully offline. Zero network calls, zero environment variables, zero external dependencies at runtime. The binary reads JSON from stdin or file, writes .grm to disk. Nothing else.

Verified by security audit (v0.2.1):

  • No hand-written unsafe code (all unsafe blocks are auto-generated FlatBuffer bindings)
  • Input size limits enforced (5MB max input, 1MB max string, 10k max array)
  • Exit code 1 on all error paths
  • No data collection, no telemetry, no phone-home

MCP Server (Universal — not OpenClaw-specific)

For integration with MCP-native clients (Claude Desktop, Cursor, Windsurf, etc.):

germanic serve-mcp

Exposes 6 tools: germanic_compile, germanic_validate, germanic_inspect, germanic_schemas, germanic_init, germanic_convert.

Configure in any MCP client:

{
  "germanic": {
    "command": "germanic",
    "args": ["serve-mcp"],
    "transport": "stdio"
  }
}

For details: github.com/germanicdev/germanic

安全使用建议
This skill appears to be what it says: a local CLI for schema validation and compiling JSON to .grm. Before installing, do these simple checks: (1) Inspect the Homebrew tap/formula (germanicdev/germanic) on GitHub to confirm the source and review build/install steps. (2) Prefer installing in a controlled environment (container or sandbox) the first time to verify behavior and that the binary matches the expected version. (3) Be cautious when running germanic serve-mcp — that mode may expose an IPC or network surface to other clients; only enable it if you trust the integration and have inspected what it listens on. (4) If you rely on the security-audit claims, ask for the audit report or verify the binary reproducibly; otherwise treat the offline/telemetry claims as assertions you may want to validate.
功能分析
Type: OpenClaw Skill Name: germanic Version: 0.2.3 The OpenClaw AgentSkills skill bundle for 'germanic' appears benign. The `SKILL.md` provides clear instructions for installing and using the `germanic` CLI tool for JSON schema validation and compilation. It explicitly states the tool is 'fully offline,' makes 'zero network calls,' and accesses 'zero environment variables.' There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts against the agent. All commands are directly related to the stated purpose of the skill, and the installation method via Homebrew is standard.
能力评估
Purpose & Capability
Name/description, required binary (germanic), and the provided workflows (compile, validate, inspect, init) align. The Homebrew install of a germanic formula is proportionate to a CLI tool. No environment variables or unrelated binaries are requested.
Instruction Scope
SKILL.md instructs the agent to run filesystem-scoped commands (find, germanic compile/validate/inspect/init). Those are appropriate for a compiler/validator. One area to note: the document documents a 'germanic serve-mcp' mode for integration; running that command may expose an API/IPC surface to other clients (MCP) and increases attack surface compared with purely offline, single-run CLI usage. The SKILL.md otherwise does not instruct the agent to read unrelated config, secrets, or network endpoints.
Install Mechanism
Install is via a Homebrew formula (germanicdev/germanic/germanic). Homebrew installs are low-risk compared to arbitrary downloads, but this is a third-party tap (germanicdev) rather than an official core formula — users should review the tap/formula source before trusting it.
Credentials
The skill requests no environment variables, no credentials, and no config paths. That is proportionate to a local CLI that validates/compiles JSON.
Persistence & Privilege
always is false and there are no instructions to modify other skills or global agent configuration. The skill can be invoked autonomously by the model (default), which is normal for skills but not a special privilege here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install germanic
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /germanic 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.2.3
MCP server now included in default binary. germanic serve-mcp works out of the box with Homebrew and cargo install. Pre-built binaries for macOS (ARM + Intel) and Linux (ARM + Intel). No more --features mcp required.
v0.2.2
Initial release: Schema-validated binary data for AI agents. JSON → .grm compiler with zero-copy FlatBuffers. Catches missing fields, wrong types, empty strings. Supports JSON Schema Draft 7. Security-audited, fully offline, Homebrew installable. Binary output prevents structural injection — data cannot be reinterpreted as instructions.
元数据
Slug germanic
版本 0.2.3
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

GERMANIC 是什么?

Validate JSON data against schemas and compile to binary .grm files. Schema-enforced data contracts for AI agents. Catches missing fields, wrong types, empty... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 326 次。

如何安装 GERMANIC?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install germanic」即可一键安装,无需额外配置。

GERMANIC 是免费的吗?

是的,GERMANIC 完全免费(开源免费),可自由下载、安装和使用。

GERMANIC 支持哪些平台?

GERMANIC 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 GERMANIC?

由 porco_rs(@porco-rs)开发并维护,当前版本 v0.2.3。

💬 留言讨论