Skip to main content

calcifier

Convert a Claude/Codex SKILL.md into a typed Python recipe under .calcifier/recipe.py. Use when the user asks to "calcify a skill", convert a skill into a recipe, harden a skill into a deterministic pipeline, or pin agent control flow.

소스 정보

저장소
trailofbits/calcifier
최근 소스 활동
2026년 10월 14일 15:44
감지된 SKILL.md 언어
영어
스타
18
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
calcifier
description
Convert a Claude/Codex SKILL.md into a typed Python recipe under .calcifier/recipe.py. Use when the user asks to "calcify a skill", convert a skill into a recipe, harden a skill into a deterministic pipeline, or pin agent control flow.
allowed-tools
Bash
# calcifier:calcifier — calcify a skill Calcifies one SKILL.md into a typed Python recipe at `.calcifier/recipe.py` next to the SKILL.md. Structured outputs use closed `@output_type` records, model calls use semantic roles under declared budgets and read-only filesystem contracts, and one `@recipe` function composes typed steps with ordinary Python control flow. ## When to invoke - The user says "calcify <skill-path>", "convert this skill into a calcifier recipe", or "calcify the X skill". - The user explicitly wants typed Python control flow around an existing skill instead of LLM-interpreted prose. ## Inputs The user must point at a `SKILL.md` file. If they only name a skill (e.g. "calcify sharp-edges"), search for `*/SKILL.md` matching that slug under their skills repos and confirm before proceeding. ## Procedure 1. **Verify the CLI is installed.** Run `calcifier --version`. If missing, instruct the user to `uv tool install /path/to/calcifier` and stop. 2. **Locate the SKILL.md.** Resolve the absolute path. If ambiguous, ask the user to disambiguate. 3. **Run the calcifier CLI.** Execute: ``` calcifier calcify <abs-path-to-SKILL.md> --compiler compiler --agent-config <agents.json> ``` The configured compiler returns Python implementing the skill. Before writing, Calcifier checks it with Ruff, ty, and the portable source gate, holds its declared roles to the configured roles, checks declared tool capabilities, and runs it once against stub agents, all without importing agent output. The skill's allowed-tools metadata records pre-approved tools; unlisted tools remain callable subject to runtime permissions and explicit skill restrictions. If any check fails, it writes nothing. 4. **Show the user the summary** the CLI prints (recipe name, version, input parameters, list of `@step` functions) and offer to open the recipe for review. 5. **Surface the trust prompt.** `calcifier exec` refuses to run a recipe whose sha256 isn't in the per-user trust store. Calcify deliberately does NOT auto-record trust — the user MUST review the Python before granting consent. Tell them to run `calcifier exec <recipe.py> --trust` once they've read it. 6. **Suggest a smoke run.** Recommend `calcifier debug <recipe.py>` for the first execution so the user sees per-step traces. ## Hard requirements - The recipe MUST define exactly one `@recipe`-decorated function. The acceptance gate enforces this; if you see a recipe that violates this after calcify, treat it as a tool bug and report it. - Run `calcifier lint <recipe> --portable` before trust. Generated model calls must use literal semantic roles; provider identity belongs only in agent-config v1. - Do NOT edit `.calcifier/recipe.py` by hand on the user's behalf without asking — drift between the SKILL.md and the recipe is detected by `calcifier:update`, and silent edits poison that signal. ## Outputs - A path printed by the CLI (e.g. `wrote /path/to/skill/.calcifier/recipe.py`). - A short summary: recipe name, version, inputs, list of `@step` functions. - The "Run: `calcifier exec <recipe> --trust`" instruction the CLI emits.
GitHub에서 보기