build
Skill131 starsChanged 18 days agoApache-2.0View on GitHub
The Containerfile, Justfile, build phases, image pinning, and the example scripts. Use when changing how the image is assembled or activating an example.
156 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
- lilly-builds/senior-engineer-modetheir own version, first seen Nov 8, 2026
- endqwerty/endstacktheir own version, first seen Nov 8, 2026
- DnsQueen/orcinus-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use backprop, finances and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
JuliusBrusseeSkillbackprop
Bug → spec protocol. When a bug is found or a test fails, trace the cause, decide whether a new §V invariant would catch recurrence, append to §B. This is the one non-obvious thing SDD does that plan-then-execute doesn't. Triggers on test failure, bug report, post-mortem, or explicit user ask.
Also in 4 projects that use this
GerardoRdz96Skillfinances
Use when Gera talks about his money — logging an expense ("I spent X on Y"), checking where he stands this pay-period, closing a period, planning debt payoff, onboarding his financial picture, or asking for budgeting/finance opinions. Servy's financial brain. Triggers — "I spent", "log this expense", "where am I this period", "close the period", "how's my budget", "debt plan", "should I pay off", "finances onboard", "/finances".
Also in 3 projects that use this
cpiprintSkillfavicon
Generate favicons from a source image
Also in 3 projects that use this
madeehahassanSkillGo-Live
Pre-launch checklist. Use before making any app public, sharing a link externally, or announcing a product launch. Adapts to Claude Code, claude.ai, and Cowork.
Also in 3 projects that use this
JuliusBrusseeSkilldeepen
Optional design-improvement pass for when you have spare usage to drain. Finds the shallowest modules in the code the spec touches, researches a deeper design, and proposes refactors that shrink interfaces and hide decisions — behavior held constant, tests green before and after. Proposes §I/§V/§T edits, never silent rewrites. Triggers when the user says "deepen this", "improve the design", "this module feels shallow", "pull complexity down", "use spare budget on the codebase", or invokes /ck:deepen. Leans on the codebase-design skill's deep-module vocabulary when present.
Also in 3 projects that use this
synaptiaiSkillgate
Create a BDSK review_gate artifact. Defines a checkpoint that controls whether generated output may proceed toward acceptance. Use when defining quality, security, or scope gates for execution plans.
Also in 5 projects that use this
Other versions156 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 156
- FalkorDB/FalkorDB★ 10ksame name
- microsoft/microsoft-ui-xaml★ 8.6ksame name
- NexaAI/nexa-sdk★ 8.5ksame name
- hathach/tinyusb★ 7.3ksame name
- parcadei/Continuous-Claude★ 3.9ksame name
- parcadei/Continuous-Claude-v2★ 3.9ksame name
- parcadei/Continuous-Claude-v3★ 3.9ksame name
- pytorch/TensorRT★ 3ksame name
- oxsecurity/megalinter★ 2.6ksame name
- iPlug2/iPlug2★ 2.4ksame name
146 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ciSkill
- customizeSkill
- onboardingSkill
- overviewSkill
- troubleshootingSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 143 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 54
Every OCI reference is pinned by digest and updated by Renovate: the base image, projectbluefin/common, ublue-os/brew, bootc-image-builder, …
- Very specific: line 88
If upstream rotates that key, update the copy.
“Common” is measured: kept by at least 6 in 10 of the 143 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Build
The Containerfile
It is the source of truth for image assembly, and it is written to be read. Its structure, in order:
- Identity —
ARG IMAGE_NAME,IMAGE_VENDOR,UBLUE_IMAGE_TAG, and the# Name:comment. The name actually published is the repository name; these are the local fallback and the image metadata. - Context stage —
COPY build /build,COPY custom /custom, then the two OCI images into/oci/commonand/oci/brew. - Base — the
FROMline. The only place the base is chosen; the Fedora major, the image name, and the digest all follow from it. - Phases — one
RUNblock per script, in the order they are named. build/README.md lists them. - Metadata — the
LABELblock, fed by ARGs declared late so a new version or commit only invalidates the label layer.
Order matters for cache: volatile values go after the expensive layers.
The Justfile
just build # build the image
just build-qcow2 # build a QCOW2 disk image
just build-iso # build an installer ISO
just run-vm-qcow2 # boot the image in a VM
just test-unit # run the suite
just lint # shellcheck every tracked script
just check # verify Justfile syntaxjust --list has the rest. IMAGE_NAME defaults to the value in the Justfile
and is overridable by the IMAGE_NAME environment variable; CI sets that from
the repository name.
build-iso gives installed machines a bootc origin built from the image's
image-info.json image-ref plus the tag you pass, e.g. just build-iso
ghcr.io/projectbluefin/finpilot stable. Never read the channel from the baked
image-tag: CI builds only as stable-testing and :stable is a digest copy,
so that value is stable-testing even in the stable image.
Pinning
Every OCI reference is pinned by digest and updated by Renovate: the base image,
projectbluefin/common, ublue-os/brew, bootc-image-builder, and the GitHub
Actions. Do not hand-edit a digest; let Renovate propose it.
Exception: the base image's Fedora major (the final FROM
quay.io/fedora-ostree-desktops/silverblue:N in Containerfile) is not
updated by Renovate. The packageRules entry in .github/renovate.json that
matches matchDepNames: ["quay.io/fedora-ostree-desktops/*"] with
matchUpdateTypes: ["major"] sets enabled: false, so no major update is
proposed for that namespace — including an already-released one such as
44 -> 45. That is deliberate: the namespace also tags unreleased branches, and
every major rebase is a manual step tied to a known-good validation. Bump the
tag in Containerfile by hand when the next major is released and validated.
The base image's FROM line is the only place the base is chosen, so the Fedora
major cannot desync the way a hand-maintained FEDORA_MAJOR_VERSION ARG could.
Two readers derive it from that base: just build parses the tag for the version
string, and 00-image-info.sh reads the base's os-release for the image
metadata.
BASE_IMAGE_NAME has no default in the Containerfile on purpose: a stale default
like silverblue would silently mislabel a CentOS or Hummingbird fork. just
build fills it from the FROM line and 00-image-info.sh hard-fails on an empty
value, so build through just; a bare podman build . is unsupported.
Examples
build/*.sh.example are inactive until you activate them: rename the file off
.example and add a RUN block after the package phase.
build/README.md has the block to copy.
50-nvidia.sh.example pulls ghcr.io/ublue-os/akmods-nvidia-open through a
skopeo policy that accepts only images signed by build/akmods-cosign.pub, a
copy of ublue-os/akmods cosign.pub.
If upstream rotates that key, update the copy; do not weaken the policy to
insecureAcceptAnything to get a build through.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

