Official agent skill

Experimental Features

by block in block/berd

A skill your agent uses when adding, reviewing, configuring, graduating, or removing Berd experiments.

OfficialApache-2.0Auto-check passed

Install Experimental Features

skills CLI
$ npx skills add block/berd --skill experimental-features -a claude-code

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

GitHub CLI
$ gh skill install block/berd experimental-features --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/block/berd.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/experimental-features .claude/skills/experimental-features && 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
experimental-features
GitHub stars
969
Token cost
~1.5k tokens
SKILL.md length
759 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when adding, reviewing, configuring, graduating, or removing Berd experiments.

  • Removing Berd experiments
  • SKILL.md covers When To Use Experiments, When To Use distro.json, Registry Shape and Internal-Only Experiments, plus 5 more sections
  • Calls just

What it does

Experimental Features is an agent skill from block/berd, published by the product's own GitHub organization. Use when adding, reviewing, configuring, graduating, or removing Berd experiments.

Its SKILL.md is about 1.5k 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: a desktop app for getting work done with any model. The licence is Apache-2.0.

When your agent uses it

  • Removing Berd experiments

Example prompts

  • “/experimental-features”

What it can do on your machine

Read from SKILL.md and the folder at commit bbdb311. 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

Experimental Features loads about 1.5k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 759 words of instructions outside code blocks.

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

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 block/berd at commit bbdb311, republished under its Apache-2.0 licence (© block). 759 words, ~1,522 tokens.

Download SKILL.mdSave it as .claude/skills/experimental-features/SKILL.md (or your agent's skills folder).
name
experimental-features
description
Use when adding, reviewing, configuring, graduating, or removing Berd experiments.

Experimental Features

Use experiments for opt-in, user-local in-progress Berd UI or workflow behavior. Do not use experiments for secrets, credentials, backend authority, packaged policy, or app state that should survive graduation as a normal preference.

When To Use Experiments

  • An individual user opts into unstable UI or workflow behavior.
  • Stable behavior can remain the default path.
  • Config is small, non-sensitive, typed, and user-editable.
  • The feature can be graduated or removed later.

When To Use distro.json

Use distro.json for packaged build policy and startup defaults, especially when the Tauri shell or sidecar needs bundled resources/config.

Good distro fits include providerAllowlist, kgoose, featureToggles.costTracking, bundled config.yaml, bin/, skills/, and agents/.

Do not use distro.json for normal app state, user preferences, dynamic runtime switches, ACP-backed data, or per-user experiments.

Registry Shape

Add experiments only in src/features/experiments/experimentDefinitions.ts.

Each definition needs:

  • id: stable kebab-case string
  • titleKey and descriptionKey: settings i18n keys
  • config: optional typed controls

Experiments without a manual per-experiment override follow the global autoEnable preference. That preference defaults on in dev builds and off in production builds. Users can force an experiment on/off or reset it back to auto from settings.

Config entries under an experiment are settings for that experiment, not nested experiments or independent feature flags. Keep them stored with the parent experiment and gate their runtime effect on the parent experiment being enabled.

Supported config controls:

  • boolean: switch with a boolean default
  • select: fixed string options with a default
  • number: default plus optional min/max/step
  • text: default plus optional placeholder; never for secrets

Use getExperiment(id) or useExperiment(id) for callers. When an experiment is disabled, keep config stored but gate behavior as disabled.

Internal-Only Experiments

Internal-only experiments need build gates at every layer they touch:

  • Add a BuildFeature resolved from a positive-opt-in VITE_* variable in src/shared/profile/buildProfile.ts, and declare the variable in src/env.d.ts.
  • Map the experiment id to that feature in BUILD_FEATURE_GATED_EXPERIMENTS.
  • If the experiment has backing Tauri commands, gate them behind a matching block-* Cargo feature and map the VITE_* variable in scripts/block-feature-gates.sh; drift-guard tests in scripts/release/tests/release-scripts.test.mjs enforce this.
  • Set the gate to 0 in the public env in .github/workflows/release.yml.

Registry-level hiding stops stale per-user localStorage overrides from re-enabling internal surfaces in consumer builds (issue 168).

Storage Contract

Experiment preferences live in localStorage under goose:experimental-features:

json
{
  "version": 2,
  "autoEnable": false,
  "experiments": {
    "experiment-id": {
      "enabled": false,
      "config": {}
    }
  }
}
  • Treat version as real schema state. On newer stored versions, abort writes instead of overwriting; on older versions, migrate explicitly or discard.
  • Store autoEnable as the global default provider. Store enabled only for explicit per-experiment overrides; clearing enabled returns that experiment to auto behavior and must preserve config.
  • Keep config under the parent experiment. Do not migrate config keys into separate experiment ids or apply auto-enable behavior to individual settings.
  • Preserve unknown experiment ids when writing so branch switches do not erase local choices.
  • Write only the touched experiment/key and re-read latest storage immediately before saving to reduce cross-window clobbering.
  • Setters return boolean; callers must surface failed writes to users.
  • Use useSyncExternalStore for React subscriptions. Memoize only the current raw storage value per registry/id; do not retain historical snapshot keys.
Show full SKILL.md (258 more words)Show less

Config UX

  • Boolean controls use switches.
  • Select controls use fixed options.
  • Number controls keep a string draft while editing, commit on blur, treat empty input as no write, commit on Enter, and clamp to min/max on commit.
  • Text controls are never for secrets.
  • Config controls may stay editable in storage while disabled, but UI should make disabled/inert behavior clear when the experiment is off.

Tauri Guardrails

Do not add Rust commands, capabilities, or permissions unless the experiment needs backend authority. If backend access is required, add the smallest typed command possible, validate all IPC input, return Result, and use async for heavy work so the UI does not freeze.

When adding commands, update capabilities with least privilege. If backend state is needed, use Tauri managed state deliberately and protect shared mutable state correctly.

Testing

Cover:

  • dev default-on and production default-off behavior
  • global auto-enable overrides and per-experiment explicit override precedence
  • resetting an explicit override back to auto while preserving config
  • enabled and disabled behavior for any gated caller
  • invalid localStorage fallback
  • unsupported storage version fallback or migration
  • typed config validation
  • number-control draft and clamp behavior
  • same-window preference updates
  • cross-window storage events
  • read and write storage failures
  • preserving unknown experiment ids when writing
  • injected test registry UI behavior without shipping fake experiments

Run focused Vitest tests and just check for frontend changes.

Graduation Cleanup

When graduating or removing an experiment, remove the registry entry, i18n keys, settings UI tests, storage assumptions, and all gated code paths. Keep migrations small and explicit if the final feature needs a real user preference.

© block, Apache-2.0. 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/experimental-features of block/berd.

Open the folder on GitHubat commit bbdb311

Compare with similar skills

Experimental Features 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.

Experimental Features compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Experimental Features this skillblock/berd969—~1.5kAutomated safety check: PassApache-2.0
Configure Eccaffaan-m/ECC274k1 repos~2kAutomated safety check: PassMIT
Configure Eccaffaan-m/ECC274k—~1.3kAutomated safety check: PassMIT
Configure Eccaffaan-m/ECC274k—~1.1kAutomated safety check: PassMIT
Ssh Configurationsickn33/agentic-awesome-skills47k2 repos~2.5kAutomated safety check: WarnMIT
Python Configurationwshobson/agents40k—~1.6kAutomated safety check: NotesMIT

Similar skills

  • Configure Ecc

    affaan-m/ECC

    Run the conversational ECC setup wizard inside the current harness: inventory the install, collect scope (user/project/local) and hook mode (off/minimal/standard/strict) in Claude Code, use Codex's…

    274k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Configure Ecc

    affaan-m/ECC

    Claude Code、Codex、Kimi 内で ECC のインストール、更新、再設定を案内し、各ハーネスが実際に備えるプラグイン、スコープ、フック機能を守ります。

    274k GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Configure Ecc

    affaan-m/ECC

    在 Claude Code、Codex 或 Kimi 内引导 ECC 安装、更新或重新配置,同时严格遵守各家工具真实的插件、范围和 Hook 能力。

    274k GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Ssh Configuration

    sickn33/agentic-awesome-skills

    Configure SSH servers and clients securely. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~2.5k tokens
    DevOps & CloudAuto-check: warnings
  • Python Configuration

    wshobson/agents

    Python configuration management via environment variables and typed settings.

    40k GitHub stars~1.6k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • Configure Notifications

    Yeachan-Heo/oh-my-claudecode

    Configure notification integrations (Telegram, Discord, Slack) via natural language

    40k GitHub stars~9.1k tokensUpdated today
    Productivity & AutomationAuto-check: warnings

More from block/berd

All 11 skills in this repo
  • Agent Builder

    block/berd

    Official

    Create, edit, or inspect Berd agents/personas stored as Agent Markdown files with YAML frontmatter under ~/.agents/agents.

    969 GitHub stars~644 tokensUpdated today
    Auto-check passed
  • Assistive UX

    block/berd

    Official

    A skill your agent uses when adding, reviewing, designing, testing, or managing Assistive UX moments in Berd, including discover, suggest, and autoApply guidance, adaptive settings, behavior…

    969 GitHub stars~706 tokensUpdated today
    Auto-check passed
  • Buzz Handoff

    block/berd

    Official

    Read and hand off Buzz channels or threads in a private agent conversation using the installed Buzz CLI.

    969 GitHub stars~893 tokensUpdated today
    Auto-check passed
  • Create PR

    block/berd

    Official

    Create a GitHub PR from the current branch: handle uncommitted changes, generate a summary, submit via gh CLI, then watch the PR to a ready state — fixing failing checks and addressing review…

    969 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Skill Builder

    block/berd

    Official

    Create, edit, or inspect Berd skills stored as skill folders with SKILL.md files.

    969 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Berd Help

    block/berd

    Official

    Help with Berd the desktop app: how-to, troubleshooting, settings, agents, skills, automations, projects, sessions, providers, connections, feedback, or berdctl.

    969 GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Questions about Experimental Features

What does Experimental Features do?

A skill your agent uses when adding, reviewing, configuring, graduating, or removing Berd experiments. Experimental Features is an agent skill from block/berd, published by the product's own GitHub organization. Use when adding, reviewing, configuring, graduating, or removing Berd experiments.

When should I use Experimental Features?

Experimental Features fits situations like: removing Berd experiments.

How do I install Experimental Features in Claude Code?

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

How do I install Experimental Features in Codex?

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

Can I use Experimental Features 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 block/berd --skill experimental-features -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/experimental-features, .gemini/skills/experimental-features, .github/skills/experimental-features and .opencode/skills/experimental-features in your project.

What does Experimental Features need to run?

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

Does Experimental Features 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 Experimental Features 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 Experimental Features use?

Experimental Features is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Experimental Features use?

About 1.5k tokens (SKILL.md is roughly 6.1k 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 Experimental Features?

Skills that share tags, products or a category with Experimental Features: Configure Ecc (affaan-m/ECC, 274k stars), Configure Ecc (affaan-m/ECC, 274k stars), Configure Ecc (affaan-m/ECC, 274k stars) and Ssh Configuration (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 Experimental Features?

block (a GitHub organization, an official publisher) maintains it in block/berd, which has 969 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

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