Release Workflow
Goldziher/spikard
Release/publish the spikard Rust core crate and CLI end-to-end.
Mechanics of alef's Minijinja template system: which templateenv module to call, how to register a template, inline-template rules, and engine settings.
$ npx skills add xberg-io/alef --skill jinja-codegen -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xberg-io/alef jinja-codegen --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .claude/skills/jinja-codegen && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .claude/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegenType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add xberg-io/alef --skill jinja-codegen -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xberg-io/alef jinja-codegen --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .agents/skills/jinja-codegen && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .agents/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xberg-io/alef --skill jinja-codegen -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xberg-io/alef jinja-codegen --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .cursor/skills/jinja-codegen && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .cursor/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/xberg-io/alef.git --path .ai-rulez/skills/jinja-codegen--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add xberg-io/alef --skill jinja-codegen -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xberg-io/alef jinja-codegen --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .gemini/skills/jinja-codegen && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .gemini/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install xberg-io/alef jinja-codegenInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add xberg-io/alef --skill jinja-codegen -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .github/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .github/skills/jinja-codegen && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .github/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xberg-io/alef --skill jinja-codegen -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xberg-io/alef jinja-codegen --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xberg-io/alef.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.ai-rulez/skills/jinja-codegen .opencode/skills/jinja-codegen && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jinja-codegen" agent skill from https://github.com/xberg-io/alef/tree/main/.ai-rulez/skills/jinja-codegen into .opencode/skills/jinja-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jinja-codegen", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jinja-codegenMechanics of alef's Minijinja template system: which templateenv module to call, how to register a template, inline-template rules, and engine settings.
Jinja Codegen is an agent skill from xberg-io/alef. Mechanics of alef's Minijinja template system: which templateenv module to call, how to register a template, inline-template rules, and engine settings. Use this skill when adding or changing generated-code templates in any backend, codegen, or e2e generator module.
Its SKILL.md is about 740 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Project scaffolding and End-to-end testing. It works with Rust. The repository describes itself as: Generate fully-typed, lint-clean language bindings for Rust libraries across 16 languages. The licence is MIT.
Read from SKILL.md and the folder at commit fc04366. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are rust).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jinja Codegen loads about 735 tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 267 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from xberg-io/alef at commit fc04366, republished under its MIT licence (© xberg-io). 267 words, ~735 tokens.
.claude/skills/jinja-codegen/SKILL.md (or your agent's skills folder).The jinja-templates rule states the invariant: all parameterized generated code goes through
Minijinja templates, never raw format!/push_str/write! assembly. This skill covers the
mechanics of doing that correctly.
template_env to callThere is no crate::template_env module. Each backend and generator owns its own
template_env.rs:
src/backends/<lang>/template_env.rs — per-language backend templatessrc/codegen/template_env.rs, src/core/template_env.rs, src/docs/template_env.rs,
src/readme/template_env.rs, src/scaffold/template_env.rs, src/e2e/template_env.rs —
shared/generator-specific templatesCall the one local to the code you are generating from:
out.push_str(&crate::backends::<lang>::template_env::render("block_name.jinja", minijinja::context! {
key => value,
}));Register in the backend's template_env.rs via include_str!:
("block_name.jinja", include_str!("templates/block_name.jinja")),One template per logical unit (class header, method signature, enum variant, etc.) — do not
create generic line/content passthrough templates to bypass the jinja-templates rule.
Set in each make_env(): trim_blocks = true, lstrip_blocks = true,
keep_trailing_newline = true.
Allowed only for single-line fragments used inside a larger template or join operation. Inline
renders must call .trim_end() or .trim_end_matches('\n') at the call site, because templates
keep their trailing newline — omitting the trim doubles blank lines in the emitted output.
Rust prepares typed values, identifiers, escaped literals, symbol names, type names, file paths, enum/field metadata, booleans, comma-joined argument lists, and small expression fragments when they are not a logical emitted unit. Templates own generated-code structure, indentation, and multiline blocks.
Static push_str("literal\n") with no interpolation is fine to leave as-is — no template needed
for non-parameterized strings.
push_str(&format!(...)), write!/writeln! for interpolated output, or multiline
format!(...)/format!(r#"..."#) that emits target code.format!(...) strings containing \n for generated code.formatted_line.jinja receiving content => format!(...)) used to route around the templating requirement.crate::template_env::render — that module does not exist; use the local one.© xberg-io, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .ai-rulez/skills/jinja-codegen of xberg-io/alef.
Open the folder on GitHubat commit fc04366
Jinja Codegen next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jinja Codegen this skillxberg-io/alef | 100 | — | ~735 | Automated safety check: Pass | MIT | |
| Release WorkflowGoldziher/spikard | 123 | — | ~909 | Automated safety check: Pass | MIT | |
| Add Full Slicefullstackhero/dotnet-starter-kit | 6.8k | — | ~783 | Automated safety check: Pass | MIT | |
| Rust Hygiene Audittsz-org/tsz | 577 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| New CrateDevolutions/IronRDP | 3.2k | — | ~236 | Automated safety check: Pass | Apache-2.0 | |
| Grindatgreen/Whistler | 101 | — | ~2.4k | Automated safety check: Pass | MIT |
Goldziher/spikard
Release/publish the spikard Rust core crate and CLI end-to-end.
fullstackhero/dotnet-starter-kit
Build a capability end-to-end — backend vertical slice (Contracts→handler→validator→endpoint) AND the React page wired to it.
tsz-org/tsz
Run a deep DRY + code-hygiene audit of the Rust workspace and turn the findings into verified, deduplicated, hierarchical GitHub tech-debt issues.
Devolutions/IronRDP
Create and integrate a new Rust crate in the IronRDP workspace.
atgreen/Whistler
Whistler-local autonomous work loop. An agent skill from atgreen/Whistler.
fzyzcjy/flutter_rust_bridge
A skill your agent uses when modifying Rust APIs, codegen, generated examples, or platform scaffolds in flutterrustbridge to select generation commands and preserve source-of-truth and convergence…
xberg-io/alef
Use Alef correctly for Rust-to-polyglot binding generation. An agent skill from xberg-io/alef.
xberg-io/alef
Audit bindings for coverage gaps — verify every public Rust item is exposed across all generated language bindings.
xberg-io/alef
Treat running alef generate/alef all/alef verify in a consumer repo as an audit, not a build step.
xberg-io/alef
Cut, tag, and publish an alef release end-to-end. An agent skill from xberg-io/alef.
xberg-io/alef
Alef's dominant defect shape: two components read the same config or IR and act on it differently.
Works with
Categories
Mechanics of alef's Minijinja template system: which templateenv module to call, how to register a template, inline-template rules, and engine settings. Jinja Codegen is an agent skill from xberg-io/alef. Mechanics of alef's Minijinja template system: which templateenv module to call, how to register a template, inline-template rules, and engine settings.
Jinja Codegen fits situations like: changing generated-code templates in any backend; E2e generator module.
Run `npx skills add xberg-io/alef --skill jinja-codegen -a claude-code`. Or copy the skill folder (.ai-rulez/skills/jinja-codegen in xberg-io/alef) into .claude/skills/jinja-codegen in your project. Claude Code loads it when a task matches its description.
Run `npx skills add xberg-io/alef --skill jinja-codegen -a codex`. Or copy the skill folder (.ai-rulez/skills/jinja-codegen in xberg-io/alef) into .agents/skills/jinja-codegen in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add xberg-io/alef --skill jinja-codegen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jinja-codegen, .gemini/skills/jinja-codegen, .github/skills/jinja-codegen and .opencode/skills/jinja-codegen in your project.
SKILL.md names no scripts, command-line tools or credentials: Jinja Codegen is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Jinja Codegen is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 735 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Jinja Codegen: Release Workflow (Goldziher/spikard, 123 stars), Add Full Slice (fullstackhero/dotnet-starter-kit, 6.8k stars), Rust Hygiene Audit (tsz-org/tsz, 577 stars) and New Crate (Devolutions/IronRDP, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
xberg-io (a GitHub organization) maintains it in xberg-io/alef, which has 100 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.
Source: xberg-io/alef on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.