Dev & Engineering

Marmite Development Guide

Coding standards, workflows, and checklists for contributing to marmite, a Rust static site generator, covering formatting, testing, and documentation gates.

58/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 886
Last updated
26d ago
License
AGPL-3.0
ruststatic-site-generatorcontributing-guidelinesclippy
+4unit-testingintegration-testingtera-templatesmask

What does this skill do, and when should you use it?

This skill ships inside the marmite repository and targets engineers who want to contribute to marmite's own codebase — not users building sites with marmite (that is the separate `marmite` skill). It codifies code quality rules (formatting, clippy, no unwrap/panic), a two-layer testing system (unit tests plus subprocess-based integration tests), backward-compatibility principles, documentation requirements, and a full contribution checklist. It also teaches agents to use marmite's built-in --show-urls, --init-site, and --new commands for development verification. The project is AGPL-3.0-or-later, Rust edition 2021, and uses the mask task runner.

Once read, it directs a developer or agent through: running mask fmt / mask check / mask pedantic for formatting and linting; running mask test across unit tests in src/tests/ and integration tests in tests/; adding config fields per the prescribed flow (serde default in config.rs + CLI flag in cli.rs + override wiring); running marmite --show-urls to compare URL output before and after refactors; scaffolding with marmite --init-site and marmite --new; keeping documentation in sync across example/content/ blog posts, example/ai/llms.txt, .agents/skills/marmite/references/ files, and draft release notes; and applying template/static changes to both the main theme and theme_template.

Good fit
  • A Rust developer preparing a PR to marmite who needs to know the project's formatting, clippy, testing, and documentation gates
  • An AI agent tasked with implementing a new marmite feature that must update code, tests, and multiple docs in one pass
  • A contributor fixing a bug who must add a reproducing test and update the draft release notes
  • A developer adding a marmite.yaml config option who needs to also add the CLI flag, defaults, and reference docs
  • A maintainer changing Tera templates who must keep the main theme and theme_template in sync

How do you install this skill?

Before you use it
  • This is a static source review; no commands or tests were executed, confidence is low.
  • The skill assumes marmite binary, Rust toolchain and mask runner are installed, but states no prerequisites.
  • Referenced files (references/*.md) are absent from the evidence; their accuracy and sync status are unverified.
  • The repo involves remote theme downloads and a curl|sh install script; mind supply-chain and network provenance.
  • SKILL.md appears truncated at the end (cut off mid-checklist); verify against the full file.
  • Builds depend on crates.io and GitHub resources, which may be constrained from mainland-China networks.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • Rust (edition 2021)
  • mask task runner
  • marmite CLI

The skill is bundled in the marmite repository at .agents/skills/marmite-development/. Clone the repo and point any Agent Skills-compatible client at the SKILL.md in that folder. The marmite binary also offers --skill / --skill-install style commands for embedded skills (the README confirms the mechanism, though the source does not state whether this development skill is embedded).

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/rochacbruno/marmite.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.agents/skills/marmite-development" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Add a --foo CLI flag to marmite and complete tests and docs per SKILL.md.

1) Install the mask task runner: cargo install mask. 2) Install the pre-commit hook: mask install_hook. 3) Build and preview the example site: mask serve (http://localhost:8000, WebSocket live reload). 4) After every change run mask fmt, mask check, mask test; before a PR also run mask pedantic and mask serve_theme. Example agent prompt: 'Add a --foo CLI flag to marmite and complete tests and docs per SKILL.md.'

What are this skill's strengths and limitations?

Pros
  • Comprehensive: code standards, two test layers, compatibility principles, documentation requirements, and checklists all in one place
  • Copy-paste-ready commands and code patterns (config fields, template functions, integration test templates)
  • Explicitly teaches agents to verify refactors with built-in tools like --show-urls
  • Strong backward-compatibility emphasis (feature flags, serde defaults, no field/flag removal) reduces breakage risk
Limitations
  • Only useful for contributing to marmite's code; worthless for users building sites (that is the sibling marmite skill's scope)
  • Hard dependency on the mask task runner and a Rust toolchain adds setup cost
  • Pedantic clippy issues require maintainer confirmation, limiting full agent autonomy

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Marmite Development Guide this page 58 · Recommended ★ 886 26d ago AGPL-3.0
Marmite Static Site Generator Skill 55 · Use with care ★ 886 26d ago AGPL-3.0
Code Review and Testing Guidance ✓ OpenAI · Official 43 · Not recommended ★ 129k 11d ago Apache-2.0
Test-Driven Development Workflow 57 · Use with care ★ 107k 12d ago MIT
Remote Executor Integration Tests ✓ OpenAI · Official 50 · Use with care ★ 129k 11d ago Apache-2.0

SKILL.md itself defines the split of labor with the site-building marmite skill: this one covers contributing code, the other covers building sites. The README names Zola, Cobalt, and Zine as alternative SSGs, but that is a product-level comparison irrelevant to this development skill.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
58/ 100 5-point scale 2.9 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust18 / 25 · 3.6/5

Pure documentation skill with no destructive commands, credential handling, or covert data flows; recommends cargo audit and dependency minimization; provenance and license clearly attributed. Deducted for: remote theme download (--set-theme) and curl|sh install referenced without risk/confirmation discussion, and unverified publisher identity.

2Reliability9 / 20 · 2.3/5

Instructions are self-consistent: toolchain commands (mask/cargo), two-layer testing, code patterns and error-handling guidance align. Deducted for: no executed verification possible in static review; maskfile not in evidence; sample --show-urls JSON contains trailing commas (invalid JSON); failure-feedback quality unverified.

3Adaptability10 / 15 · 3.3/5

Audience is explicit (contributors to the marmite codebase) and non-fit boundary is declared up front (use the marmite skill for site building). Deducted for: no Chinese-language support notes, builds depend on overseas crates.io access, and no declared environment prerequisites (Rust version, mask availability).

4Convention11 / 15 · 3.7/5

Well-layered structure (tools, code quality, testing, architecture, checklists); AGPL-3.0-or-later consistent across SKILL.md, Cargo.toml and LICENSE; references maintainer sign-off. Deducted for: no skill-level version/changelog, SKILL.md text appears truncated mid-checklist, and dependency on mask without install instructions.

5Effectiveness6 / 15 · 2.0/5

Covers the core contribution workflow (fmt/lint/test, architecture, step-by-step feature recipes, breaking-change policy) with concrete, actionable content and clear marginal value over source-diving. Deducted for: steps unverifiable without execution; referenced files (references/*.md) absent from evidence so completeness unconfirmed.

6Verifiability4 / 10 · 2.0/5

Claims are cross-checkable against source, Cargo.toml and CI workflows; structural claims (test inventory, module table) are auditable. Deducted for: no execution evidence in static review; the listed test files themselves are not in evidence; fact/inference separation left to the reader.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 10, 2026 Reviewed revision 99ba49ff51f2 Review evidence[1][2][3][4][5][6][7][8]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Is this skill for me?
Only if you plan to read or modify marmite's Rust source; use the marmite skill if you just want to build a blog.
What prerequisites are needed?
A Rust edition-2021 toolchain, the mask task runner (cargo install mask), and a local clone of the marmite repository; the pre-commit hook runs mask pedantic.
What is the minimum bar for a contribution?
Every change must pass mask fmt and mask check and include tests; new features additionally require a blog post, an llms.txt entry, updated skill references, and draft release notes.
What happens when checks fail?
The pre-commit hook blocks commits when mask pedantic fails (bypass WIP commits with git commit --no-verify); failing mask check or mask test must be fixed per the checklist before submitting.

More skills from this repository

All from rochacbruno/marmite

Related skills