JB Agent Environment
This local skill is the agent-environment registry editor and resource locator.
The portable install/bootstrap/update workflow lives in the Gist setup document. Do not duplicate that full workflow here.
Use when
- add a new preferred agent-environment resource to JB's registry
- update, remove, tag, or inspect registry resources
- find the canonical registry/setup resources
- after editing the registry, install exactly the newly added entry if JB asks
Canonical resources
Use exactly:
- Gist:
https://gist.github.com/bjesuiter/98d5768dc360093affb8d8fdb064e45f - registry filename:
jb-skill-preferences.json5 - setup/install workflow filename:
jb-skill-preferences-setup.md - registry description:
JB shared preferred AI skill registry - fallback search page:
https://gist.github.com/bjesuiter
Treat filenames as canonical. Do not invent alternates.
Requirements
ghinstalled and authenticated for gist read/write.- Registry is JSON5, not JSON.
- Version 3+ uses only the top-level
resourcesflat registry;globalandprojecttopic trees are not supported. - Preserve comments and field order when editing existing JSON5.
Read resources
Read the registry:
gh gist view https://gist.github.com/bjesuiter/98d5768dc360093affb8d8fdb064e45f \
--filename jb-skill-preferences.json5 \
--raw
Read the install/update workflow:
gh gist view https://gist.github.com/bjesuiter/98d5768dc360093affb8d8fdb064e45f \
--filename jb-skill-preferences-setup.md \
--raw
If the pinned gist fails, find it by filename/description:
gh gist list --limit 100 --filter 'jb-skill-preferences\.json5|JB shared preferred AI skill registry'
Registry editing workflow
- Read the latest
jb-skill-preferences.json5from the Gist. - Add or update exactly one top-level
resourcesentry per installable skill, Pi extension, or CLI. - Set independent dimensions explicitly:
kind:skill,piExtension, orcliscope:globalorprojectlifecycle:stableorexperimentaltags: zero or more intended-use labels such asdevMachine,openclaw,appleDev, orwebDevinstaller: the explicit command mechanism
- Deduplicate identical resources by merging their tags; never copy an entry merely because it has another use case.
- Validate JSON5.
- Write the updated registry back to the Gist.
npx -y json5 --validate /path/to/jb-skill-preferences.json5
gh gist edit https://gist.github.com/bjesuiter/98d5768dc360093affb8d8fdb064e45f \
--filename jb-skill-preferences.json5 \
/path/to/jb-skill-preferences.json5
Entry rules
resourcesis the only registry representation; do not addglobalorprojecttopic trees.- Use one resource per selected skill or extension so tags remain independently editable.
scopecontrols installation locality only;tagsnever imply an installer or scope.lifecycle: "experimental"entries requirereviewAfter; stable entries do not.skill: "name"selects one skill;skill: "*"requireswildcard: true.- A source-only skill install uses
installer: { type: "skillsCli", selection: "source" }and omitsskill. kind: "piExtension"requiresinstaller: { type: "pi" }.kind: "cli"requires an explicitinstaller.command; do not infer it from the source.- Use local absolute paths only when explicitly requested.
Create registry if missing
If adding/updating preferences and the registry does not exist, create a secret gist from a temp file using the established schema:
gh gist create /path/to/jb-skill-preferences.json5 -d 'JB shared preferred AI skill registry'
If only inspecting or installing, ask before initializing.
Installing after editing
If JB asks to install after adding a registry entry:
- Read
jb-skill-preferences-setup.mdfrom the Gist. - Follow its New-entry workflow: install exactly the skill just added section.
- Install exactly the newly added/changed entry, not the whole topic or registry, unless JB explicitly asks for that.
For full machine bootstrap/update, always defer to jb-skill-preferences-setup.md.
Critical guardrails
- This local skill manages the registry; the Gist setup md manages installs/updates.
- Do not run full ensure/update mode when JB only asks to install a newly added skill.
- Never prune locally installed skills without explicit confirmation.
- Keep
kind,scope,lifecycle, andtagsseparate; tags are never categories.
Example requests
- "Remember that Apple projects should use my ASC and SwiftUI skills."
- "Tag this skill for both devMachine and openclaw use."
- "Install the resource I just added to the registry."
- "What preferred resources are tagged openclaw?"