BarnDog

Author and improve a Skill

Pull a Skill into a working folder, edit it in your editor, and suggest the change for review.

You can improve a shared Skill from your own editor. BarnDog keeps track of what you changed, so you don't need Git or local commits.

Improve an existing Skill

Pull it into a working folder

barndog skills pull code-review --origin team/engineering
cd code-review

This creates a new ./code-review folder. Use --directory <path> to choose another location. Pull refuses to write into a folder that already exists.

Edit the files

Change SKILL.md or any supporting file with any editor. Then check your work:

barndog status
barndog diff

status shows changed files and the state of your proposal. diff shows your changes against the version you pulled.

Suggest the change

barndog push --title "Clarify the review checklist"

BarnDog uploads your edits as one Suggested Change and prints its ID. Your team reviews it in the web workspace or with barndog changes.

Respond to feedback

If a reviewer asks for changes, edit the files again and run barndog push. That updates the same Suggested Change with a new revision.

If a reviewer applies one of their own suggestions, run barndog pull to bring it into your folder.

Once the change is merged, it becomes the Skill's next published version and reaches everyone on their next barndog sync.

Create a new Skill

Create a folder with a SKILL.md, then push it with an origin:

mkdir release-notes && cd release-notes
# Write SKILL.md
barndog push --origin team/engineering

A new Skill is proposed the same way as a change to an existing one: it shows up as In review until it is merged.

Publish directly

Team and repository admins can publish in their scopes without review, and organization admins can publish anywhere. You can always publish your own personal Skills.

barndog push --publish

A normal barndog push always creates a Suggested Change, even for admins.

Keep up with the published version

If someone publishes a newer version while you're working, run:

barndog pull

BarnDog merges the latest published version into your folder. Text edits that don't overlap are combined automatically.

When edits do overlap, the file gets conflict markers showing the base, your version, and the published one. For binary files, and for files one side deleted, your local version is kept. Fix each file, then mark it resolved:

barndog resolve SKILL.md

You can't push until every conflict is resolved. An out-of-date Suggested Change can't be merged, even by an admin.

Good to know

  • Run commands from the working folder or any folder inside it.
  • Keep the folder where you pulled it. BarnDog registers the working copy by its path.
  • Working copies are separate from installed Skills. Pulling and editing never changes what's installed in your harnesses.
  • .git folders are left out of uploads. Symlinks are rejected.
  • If an upload fails partway, the next push retries the same submission, so nothing is lost.
  • Before each pull, BarnDog saves a recovery snapshot in ~/.barndog/workspaces/snapshots/.

On this page