Agent skill

Dakota Packaging

by projectbluefin in projectbluefin/dakota

Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases.

MITAuto-check passed

Install Dakota Packaging

skills CLI
$ npx skills add projectbluefin/dakota --skill dakota-packaging -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install projectbluefin/dakota dakota-packaging --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/projectbluefin/dakota.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dakota-packaging .claude/skills/dakota-packaging && rm -rf skills-src

Use ~/.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/

Facts

Skill name
dakota-packaging
GitHub stars
178
Token cost
~1.1k tokens
SKILL.md length
450 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases.

  • Works in 7 steps: Locate Reference Pattern: Identify an… → Verify Upstream: Confirm upstream… → Declare Element: Create… → …
  • SKILL.md covers When to Use, When NOT to Use, Core Process and Language Invariants, plus 5 more sections
  • Calls just, go and python3

What it does

Dakota Packaging is an agent skill from projectbluefin/dakota. Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Rust. The repository describes itself as: The buildstream for making Bluefin. The licence is MIT.

Example prompts

  • “/dakota-packaging”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Locate Reference Pattern: Identify an existing element with the same toolchain (Go, Rust, Zig, Meson, CMake, Autotools, or binary).
  2. Verify Upstream: Confirm upstream source, open-source license, release tag, and multi-arch support (x86_64 and aarch64).
  3. Declare Element: Create elements/bluefin/.bst or under the appropriate subdirectory.
  4. Wire Dependencies: Wire into elements/bluefin/deps.bst (the aggregator stack) or the relevant layer composition element.
  5. Generate Offline Sources (Rust)
  6. Validate and Build
  7. Inspect Output: Check installed paths and permissions inside the artifact before expanding layer filters.

What it can do on your machine

Read from SKILL.md and the folder at commit da6c489. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • just
    • go
    • python3
    • cargo
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dakota Packaging loads about 1.1k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 450 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~35
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from projectbluefin/dakota at commit da6c489, republished under its MIT licence (© projectbluefin). 450 words, ~1,082 tokens.

Download SKILL.mdSave it as .claude/skills/dakota-packaging/SKILL.md (or your agent's skills folder).
name
dakota-packaging
description
Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases.
metadata.context7-sources
/apache/buildstream

Dakota Packaging

Package software as BuildStream elements. Dakota builds natively from source and does not consume RPMs, DNF repositories, COPRs, or Containerfile overlays.

When to Use

  • Adding a new native CLI tool, service, or library to Dakota
  • Updating an existing package element under elements/bluefin/ or elements/core/
  • Generating offline crate sources for Rust programs
  • Removing deprecated software and cleaning up dependency stacks

When NOT to Use

  • Packaging GNOME Shell extensions → load dakota-extensions
  • Host Homebrew integration or formulas → load dakota-workstation
  • Layer composition in elements/oci/layers/ → load dakota-image
  • ujust user commands → load dakota-ujust

Core Process

  1. Locate Reference Pattern: Identify an existing element with the same toolchain (Go, Rust, Zig, Meson, CMake, Autotools, or binary).
  2. Verify Upstream: Confirm upstream source, open-source license, release tag, and multi-arch support (x86_64 and aarch64).
  3. Declare Element: Create elements/bluefin/<name>.bst or under the appropriate subdirectory.
  4. Wire Dependencies: Wire into elements/bluefin/deps.bst (the aggregator stack) or the relevant layer composition element.
  5. Generate Offline Sources (Rust):
    bash
    python3 files/scripts/generate_cargo_sources.py path/to/Cargo.lock
  6. Validate and Build:
    bash
    just validate
    just bst build bluefin/<name>.bst
  7. Inspect Output: Check installed paths and permissions inside the artifact before expanding layer filters.

Language Invariants

  • Go: Use go build with flags ensuring deterministic, offline compilation (-buildvcs=false, -trimpath). Statically or dynamically link as appropriate. Do not run go get or go install across the network.
  • Rust: Never hand-craft crate lists. Always use files/scripts/generate_cargo_sources.py from Cargo.lock to generate kind: cargo2 source blocks. Build with cargo --frozen --offline.
  • Zig: Pin the exact toolchain version; specify the target triple explicitly.
  • C/Meson/Autotools: Inherit build dependencies from junctions (freedesktop-sdk.bst:components/...). Do not install unpinned dependencies.
  • Binary Releases: Require per-architecture URLs, SHA256 checksums, and license installation to %{install-root}%{datadir}/licenses/<package>/.
Show full SKILL.md (187 more words)Show less

Package Removal Hygiene

When deleting a package:

  1. Trace reverse dependencies with just bst show --deps all oci/bluefin.bst | grep <element>.
  2. Remove entry from elements/bluefin/deps.bst and layer compose elements.
  3. Delete static files, systemd unit symlinks, and any patches in patches/.
  4. Run just validate to confirm the graph is sound.

Common Rationalizations

RationalizationReality
"I can quickly fetch this dependency during build."Sandboxes lack network access. All assets must be declared in element sources.
"Writing Cargo sources by hand is faster for small crates."Hand-rolled Cargo blocks miss sub-dependencies and checksums. Always use generate_cargo_sources.py.
"A binary release doesn't need license files."Legal distribution requires licenses packaged alongside binaries.

Red Flags

  • Network calls (curl, wget, git clone) inside install-commands
  • Hand-maintained Cargo source blocks without generate_cargo_sources.py
  • Storing pre-compiled binaries in git instead of downloading release archives via sources
  • Unpinned git tracking branches (track: main without a pinned ref:)

Verification

  • just validate passes
  • Element builds cleanly via just bst build bluefin/<name>.bst
  • No network access is attempted during sandbox compilation
  • Installed binaries, configs, and licenses land in standard /usr hierarchy
  • Element is added to elements/bluefin/deps.bst

References

© projectbluefin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/dakota-packaging of projectbluefin/dakota.

Open the folder on GitHubat commit da6c489

Compare with similar skills

Dakota Packaging 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.

Dakota Packaging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dakota Packaging this skillprojectbluefin/dakota178—~1.1kAutomated safety check: PassMIT
Update V8 Versionopeninterpreter/openinterpreter69k2 repos~845Automated safety check: PassApache-2.0
Firecrawl Page Scrape Integrationfirecrawl/firecrawl190k1 repos~944Automated safety check: PassISC
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0
Rust TDD Workflowrtk-ai/rtk83k—~753Automated safety check: NotesApache-2.0
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0

Similar skills

  • Update V8 Version

    openinterpreter/openinterpreter

    Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.

    69k GitHub starsUsed in 2 repos~845 tokens
    DevOps & CloudAuto-check passed
  • Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.

    190k GitHub starsUsed in 1 repo~944 tokens
    Data & AnalyticsAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.

    83k GitHub stars~753 tokensUpdated yesterday
    Testing & QAAuto-check: notes
  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed

More from projectbluefin/dakota

All 10 skills in this repo
  • Dakota Buildstream

    projectbluefin/dakota

    BuildStream elements, junctions, patches, dependency graphs, and build failures in Dakota.

    178 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Dakota Extensions

    projectbluefin/dakota

    Package, update, and configure GNOME Shell extensions, Quick Settings panels, and schemas in Dakota.

    178 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Dakota Factory

    projectbluefin/dakota

    Maintain task-relevant Dakota guidance: documentation accuracy, official-source verification, and skill auditing.

    178 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Dakota Ujust

    projectbluefin/dakota

    Author safe end-user ujust recipes in files/just-overrides/default.just, including quoting, gum, JSON, and public-post confirmation.

    178 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check: notes
  • Dakota Image

    projectbluefin/dakota

    OCI layer assembly, boot testing, installer boundaries, VM work, and local OTA verification for Dakota images.

    178 GitHub stars~929 tokensUpdated yesterday
    Auto-check passed
  • Dakota Workstation

    projectbluefin/dakota

    Dakota host Homebrew integration and workstation-specific services.

    178 GitHub stars~937 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Dakota Packaging

What does Dakota Packaging do?

Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases. Dakota Packaging is an agent skill from projectbluefin/dakota. Add, remove, or update native software built from source in Dakota, including Go, Rust, Zig, C/Meson, and binary releases.

How do I install Dakota Packaging in Claude Code?

Run `npx skills add projectbluefin/dakota --skill dakota-packaging -a claude-code`. Or copy the skill folder (.agents/skills/dakota-packaging in projectbluefin/dakota) into .claude/skills/dakota-packaging in your project. Claude Code loads it when a task matches its description.

How do I install Dakota Packaging in Codex?

Run `npx skills add projectbluefin/dakota --skill dakota-packaging -a codex`. Or copy the skill folder (.agents/skills/dakota-packaging in projectbluefin/dakota) into .agents/skills/dakota-packaging in your project. Codex loads it when a task matches its description.

Can I use Dakota Packaging in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add projectbluefin/dakota --skill dakota-packaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dakota-packaging, .gemini/skills/dakota-packaging, .github/skills/dakota-packaging and .opencode/skills/dakota-packaging in your project.

What does Dakota Packaging need to run?

Going by SKILL.md and its folder, Dakota Packaging needs the command-line tools its instructions call (just, go, python3, cargo and git). Our summary lists: Python 3.

Does Dakota Packaging access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Dakota Packaging safe to install?

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.

What licence does Dakota Packaging use?

Dakota Packaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dakota Packaging use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Dakota Packaging?

Skills that share tags, products or a category with Dakota Packaging: Update V8 Version (openinterpreter/openinterpreter, 69k stars), Firecrawl Page Scrape Integration (firecrawl/firecrawl, 190k stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars) and Rust TDD Workflow (rtk-ai/rtk, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dakota Packaging?

projectbluefin (a GitHub organization) maintains it in projectbluefin/dakota, which has 178 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.

Source: projectbluefin/dakota on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.