Agent skill

Dakota Extensions

by projectbluefin in projectbluefin/dakota

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

MITAuto-check passed

Install Dakota Extensions

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

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

GitHub CLI
$ gh skill install projectbluefin/dakota dakota-extensions --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-extensions .claude/skills/dakota-extensions && 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-extensions
GitHub stars
178
Token cost
~1.6k tokens
SKILL.md length
644 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 6 steps: Verify Upstream Extension → Create Element → Compile Schemas → …
  • Editing elements/bluefin/shell-extensions/
  • SKILL.md covers When to Use, When NOT to Use, Core Process and Invariants, plus 4 more sections
  • Calls just

What it does

Dakota Extensions is an agent skill from projectbluefin/dakota. Package, update, and configure GNOME Shell extensions, Quick Settings panels, and schemas in Dakota. Use when editing elements/bluefin/shell-extensions/ or dconf extension defaults.

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

The repository describes itself as: The buildstream for making Bluefin. The licence is MIT.

When your agent uses it

  • Editing elements/bluefin/shell-extensions/
  • Dconf extension defaults

Example prompts

  • “/dakota-extensions”

Workflow steps

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

  1. Verify Upstream Extension
  2. Create Element
  3. Compile Schemas
  4. Aggregate in Stack
  5. Configure Default Enablement
  6. Validate & Build

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

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

  • Network

    No URLs in SKILL.md.

    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 Extensions loads about 1.6k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 644 words of instructions outside code blocks.

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

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). 644 words, ~1,586 tokens.

Download SKILL.mdSave it as .claude/skills/dakota-extensions/SKILL.md (or your agent's skills folder).
name
dakota-extensions
description
Package, update, and configure GNOME Shell extensions, Quick Settings panels, and schemas in Dakota. Use when editing elements/bluefin/shell-extensions/ or dconf extension defaults.
metadata.verified-sources
https://buildstream.gitlab.io/buildstream-plugins-community/sources/zip.html
metadata.context7-sources
/git_gitlab_gnome_org/gnome_gnome-shell

Dakota GNOME Extensions

Dakota packages curated GNOME Shell extensions built from source or upstream repositories directly into the immutable system image.

When to Use

  • Packaging a new GNOME Shell extension into elements/bluefin/shell-extensions/
  • Updating or patching an existing extension in elements/bluefin/shell-extensions/
  • Enabling or configuring default extension settings in dconf schemas
  • Resolving extension compatibility for the tracked GNOME version (GNOME 45–50+)

When NOT to Use

  • Packaging native system software, CLI tools, or background daemons → load dakota-packaging
  • Low-level OCI layer composition → load dakota-image
  • Developer/CI workflows → load dakota-ci

Core Process

  1. Verify Upstream Extension:
    • Inspect metadata.json for supported shell-version entries (must match Dakota's GNOME release, currently targeting GNOME 50).
    • Ensure code uses modern ESM syntax (import ... from 'resource:///...').
  2. Create Element:
    • Add elements/bluefin/shell-extensions/<name>.bst using kind: manual.
    • Source from pinned git commit or release tag.
    • For release ZIPs with metadata.json at the archive root, set base-dir: "" in the kind: zip source. The plugin default ('*') extracts a child directory instead, dropping root-level files. Inspect the pinned archive's layout before choosing an extraction root; source-tree archives may have a wrapper directory.
    • Extract UUID via jq and install files into:
      bash
      _uuid="$(jq -r .uuid metadata.json)"
      _dest="%{install-root}%{datadir}/gnome-shell/extensions/${_uuid}"
      install -d "${_dest}"
      cp -R * "${_dest}/"
  3. Compile Schemas:
    • If the extension ships a schemas/ directory, compile schemas in install-commands:
      bash
      glib-compile-schemas "${_dest}/schemas"
  4. Aggregate in Stack:
    • Add the new extension element to elements/bluefin/gnome-shell-extensions.bst.
  5. Configure Default Enablement:
    • Check both files/dconf/ and elements/bluefin/shell-extensions/disable-ext-validator.bst, which generates Dakota's default enabled-extensions schema override.
    • Enable basic desktop behavior by default only when its pinned metadata supports the target Shell version and its backend services are available. Personal integrations (sync/VPN controls, clipboard history, extra audio controls, and power reminders) remain opt-in with their dependencies installed. BudsLink may stay enabled because its default panel is hidden without supported devices. A disabled version validator does not establish compatibility.
    • For administrator-managed prerequisites, provide explicit setup from the control rather than silently granting permissions. Dakota's Tailscale setup uses a narrowly scoped, administrator-authenticated helper; it does not authorize users at boot.
    • Diagnose live settings with /usr/bin/gsettings and gnome-extensions, not Homebrew's GSettings CLI. Existing user lists can mask new defaults; preserve those selections rather than installing login migrations to force new defaults.
  6. Validate & Build: Graph validation (bst show) does not stage sources or execute installation commands. Build the changed extension and inspect its installed metadata and schemas; a green graph check alone cannot verify archive extraction.
    bash
    just validate
    just bst build bluefin/shell-extensions/<name>.bst
Show full SKILL.md (250 more words)Show less

Invariants

  • ESM Architecture: GNOME 45+ requires standard JavaScript ESM imports (import ... from 'resource:///org/gnome/shell/...'). Legacy imports.* syntax is prohibited.
  • UUID Directory Invariant: The installed extension folder under %{datadir}/gnome-shell/extensions/ must match metadata.json's .uuid string exactly.
  • Pure bootc Compliance: Extensions must rely only on system services and pure bootc APIs. No dependencies on rpm-ostree or mutable package installers.
  • Schema Compilation: Extensions with custom GSettings must include compiled schemas (gschemas.compiled) in their directory or rely on Dakota's root schema compiler during OCI assembly.
  • Disabled Binaries Strip: Set variables: { strip-binaries: "" } in extension manual elements since extension JS/CSS files do not contain ELF binaries.

Common Rationalizations

RationalizationReality
"The extension works on GNOME 46, so it's fine for GNOME 50 without checking."Shell internal APIs frequently change across major GNOME releases. Verify imports and Quick Settings classes.
"Users can just install the extension manually from extensions.gnome.org."Dakota is an immutable, turnkey OS. Core desktop features must be shipped as pre-packaged system extensions.
"I'll edit the schema in /etc/dconf/db/local.d/ directly at runtime."All dconf overrides must be defined in source under files/dconf/ and compiled during image build.

Red Flags

  • Use of deprecated const { ... } = imports.ui or legacy extension classes
  • Omitting the extension from elements/bluefin/gnome-shell-extensions.bst
  • Hardcoded absolute paths to user home directories (/var/home/...) in extension JS
  • Adding an extension without testing schema compilation

Verification

  • just validate passes cleanly
  • just bst build bluefin/shell-extensions/<name>.bst succeeds
  • metadata.json specifies compatibility with the current GNOME release
  • Extension directory matches .uuid precisely
  • glib-compile-schemas succeeds if schemas are present
  • Added to elements/bluefin/gnome-shell-extensions.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-extensions of projectbluefin/dakota.

Open the folder on GitHubat commit da6c489

Compare with similar skills

Dakota Extensions 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 Extensions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dakota Extensions this skillprojectbluefin/dakota178—~1.6kAutomated safety check: PassMIT
Configuring Windows Defender Advanced Settingsmukul975/Anthropic-Cybersecurity-Skills34k—~3.1kAutomated safety check: PassApache-2.0
Microsoft Extensions ConfigurationAaronontheweb/dotnet-skills1.2k1 repos~2.4kAutomated safety check: PassMIT
Configure Channelopenclaw/openclaw392k—~946Automated safety check: PassMIT
Browser Extension Buildersickn33/agentic-awesome-skills47k2 repos~2.3kAutomated safety check: PassMIT
Browser Extension Launchsickn33/agentic-awesome-skills47k1 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • Configuring Windows Defender Advanced Settings

    mukul975/Anthropic-Cybersecurity-Skills

    Configures Microsoft Defender for Endpoint (MDE) advanced protection settings including attack surface reduction rules, controlled folder access, network protection, and exploit protection.

    34k GitHub stars~3.1k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Microsoft Extensions Configuration

    Aaronontheweb/dotnet-skills

    Microsoft.Extensions.Options patterns including IValidateOptions, strongly-typed settings, validation on startup, and the Options pattern for clean configuration management.

    1.2k GitHub starsUsed in 1 repo~2.4k tokens
    Auto-check passed
  • Configure Channel

    openclaw/openclaw

    Configure and prove a chat channel with non-interactive one-liners; secrets only as SecretRefs.

    392k GitHub stars~946 tokensUpdated today
    Auto-check passed
  • Browser Extension Builder

    sickn33/agentic-awesome-skills

    Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions.

    47k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Browser Extension Launch

    sickn33/agentic-awesome-skills

    Builds, tests, packages, and prepares Chrome extensions for store launch from a plain-language idea; use for new extensions, fixes, releases, and submission recovery.

    47k GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed
  • Browser Extension Reverse

    sickn33/agentic-awesome-skills

    Authorized reverse engineering of Chrome/Firefox extensions: manifest analysis, background workers, content scripts, and extension-based credential or data-exposure research.

    47k GitHub starsUsed in 1 repo~695 tokens
    SecurityAuto-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 today
    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 today
    Auto-check passed
  • Dakota Packaging

    projectbluefin/dakota

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

    178 GitHub stars~1.1k tokensUpdated today
    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 today
    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 today
    Auto-check passed
  • Dakota Workstation

    projectbluefin/dakota

    Dakota host Homebrew integration and workstation-specific services.

    178 GitHub stars~937 tokensUpdated today
    Auto-check passed

Questions about Dakota Extensions

What does Dakota Extensions do?

Package, update, and configure GNOME Shell extensions, Quick Settings panels, and schemas in Dakota. Dakota Extensions is an agent skill from projectbluefin/dakota. Package, update, and configure GNOME Shell extensions, Quick Settings panels, and schemas in Dakota.

When should I use Dakota Extensions?

Dakota Extensions fits situations like: editing elements/bluefin/shell-extensions/; dconf extension defaults.

How do I install Dakota Extensions in Claude Code?

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

How do I install Dakota Extensions in Codex?

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

Can I use Dakota Extensions 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-extensions -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-extensions, .gemini/skills/dakota-extensions, .github/skills/dakota-extensions and .opencode/skills/dakota-extensions in your project.

What does Dakota Extensions need to run?

Going by SKILL.md and its folder, Dakota Extensions needs the command-line tools its instructions call (just).

Does Dakota Extensions access the network?

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.

Is Dakota Extensions 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 Extensions use?

Dakota Extensions 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 Extensions use?

About 1.6k tokens (SKILL.md is roughly 6.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 Extensions?

Skills that share tags, products or a category with Dakota Extensions: Configuring Windows Defender Advanced Settings (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Microsoft Extensions Configuration (Aaronontheweb/dotnet-skills, 1.2k stars), Configure Channel (openclaw/openclaw, 392k stars) and Browser Extension Builder (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dakota Extensions?

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.