本文へ移動
cccskills
無料GitHub で公開

fml

Work with Fast Modeling Language (FML) dimensional models through the repository's deterministic CLI. Use for creating or modifying .fml files, validating FML or supported engine-dialect syntax, diagnosing parser errors, formatting models, inspecting model AST structure, and transforming FML into any transformer dialect packaged by the project.

日本語の概要は準備中です。原文の説明を表示しています。

alibaba/fast-modeling-languageスター 75(GitHub 75 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(11)

  • SKILL.md3.4 KB
  • agents/openai.yaml222 B
  • evals/evals.json5.4 KB
  • evals/fixtures/customer.fml85 B
  • evals/fixtures/inventory.fml67 B
  • evals/fixtures/order_model.fml49 B
  • evals/fixtures/shop.fml73 B
  • evals/report.md1.4 KB
  • evals/trigger-evals.json3.0 KB
  • references/cli.md3.1 KB
  • scripts/validate_evals.py9.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

FML

Use the fml CLI as the source of truth for parsing and transformation. Do not simulate parser behavior or claim that generated FML is valid without running validate.

Locate the CLI

From the repository root, prefer the packaged executable JAR:

java -jar fastmodel-agent-cli/target/fastmodel-agent-cli-*-executable.jar capabilities

If it is unavailable, build it:

mvn -pl fastmodel-agent-cli -am package -DskipTests

Store the resolved JAR path once and reuse it. Every command emits one JSON object on stdout.

Choose a command

  • Run validate after creating or editing FML.
  • Run validate --dialect DIALECT to parse supported native engine DDL.
  • Run format when canonical FML source is required.
  • Run inspect to understand statement and child-node types.
  • Run transform --dialect DIALECT to generate engine SQL or visualization output.
  • Run capabilities before relying on a dialect or exit code not documented here.

Read references/cli.md when constructing commands or handling errors.

Reliable modeling workflow

  1. Read the existing model and preserve its naming and property conventions.
  2. Make the smallest requested source change.
  3. Run validate FILE.
  4. If validation fails, use diagnostic line, column, and message; fix the source and rerun.
  5. Run format FILE when canonical formatting is requested. Extract the JSON output value before writing it back.
  6. Run capabilities and check the requested dialect's transform or validate flag.
  7. Run transform --dialect DIALECT FILE when target output is requested.
  8. Validate generated SQL with the target engine's own tooling when available. FML transformation success does not prove deployability in a specific engine environment.

Input safety

Prefer a file argument for repository artifacts. Use stdin for generated or temporary content:

printf '%s' "$FML_SOURCE" | java -jar "$FML_CLI_JAR" validate -

Use --text only for short, controlled snippets. Never interpolate untrusted model text into a shell command.

Interpret results

Treat ok: true and exit code 0 as success. Treat any nonzero exit code as failure even if partial output exists.

  • Exit 2: invalid CLI input or arguments.
  • Exit 3: FML parsing failed.
  • Exit 4: transformation or execution failed.

Return diagnostics to the user with their error code and source location. Do not discard structured errors or replace them with generic prose.

Maintain the skill

When changing this skill, run its task and trigger evaluation contract:

python3 skills/fml/scripts/validate_evals.py

To include deterministic CLI results and refresh the checked-in report:

FML_CLI_JAR="$(find fastmodel-agent-cli/target -maxdepth 1 -name '*-executable.jar' -print -quit)"
python3 skills/fml/scripts/validate_evals.py \
  --cli-jar "$FML_CLI_JAR" \
  --report skills/fml/evals/report.md

Run the skill creator's quick_validate.py as a separate structural check. The evaluation datasets live in evals/evals.json and evals/trigger-evals.json.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

このスキルの問題を報告する