agentleFS
hieuphung97hieuphung97/dely/skills/setup/SKILL.md

setup

Skill93 starsChanged 57 days agoMITView on GitHub

Configure a project's Dely pins — per-phase harness, model and effort for implement and review, written to .dely/pins.json (team) or .dely/local/pins.json (only this person), discovered from the live harness surface. Use at the start of a Control Session, when the project has no pins, or when pins need rewriting from the installed harnesses. Not for installing plugins, trusting hooks, or delivering a change; that is delivery.

191 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use add-voice-transcription, add-discord and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • juancruzmunozalbeloSkill

    add-voice-transcription

    Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.

    Also in 5 projects that use this

  • MicrosoftSkill

    add-discord

    Add Discord bot channel integration via Chat SDK.

    Also in 11 projects that use this

  • MicrosoftSkill

    add-slack

    Add Slack channel integration via Chat SDK.

    Also in 11 projects that use this

  • juancruzmunozalbeloSkill

    add-telegram-swarm

    Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".

    Also in 7 projects that use this

  • +8 more from microsoft

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 3 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 170 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write the project's Dely pins into one JSON file, and one routing sentence into AGENTS.md.

    line 8
  2. Very specific:

    Quick: Use the current harness for both implement and review.

    line 41
  3. Distinctive:

    Ask which path, and whether the choice is for the team or only for this person.

    line 53
  4. Very specific:

    Use the harness id, not its display name.

    line 70
  5. Very specific:

    If AGENTS.md contains an old <!-- dely:begin --> block, the helper no longer reads it.

    line 80
  6. Very specific:

    When discovery.answeredLocally is true, the probe is answered locally: do not treat it as a dispatch.

    line 102
  7. Very specific:

    When discovery.omitVisibility is set, slugs whose visibility equals that value are not offered.

    line 105
  8. Very specific:

    When discovery.modelField is set, each model's value is that field rather than slug.

    line 109
  9. Very specific:

    When effortFlag is false and discovery.effort and discovery.effortFrom are both absent, write the literal default for Effort.

    line 112
  10. Distinctive:

    Stop and report to the human, unchanged, when an existing pins file is not valid JSON in the format above.

    line 145
  11. Very specific:

    Read the current harness's instructionsFile.

    line 150
  12. Very specific:

    After the pins are written, for each pinned harness whose trust is dialog, open it once for the human with orca terminal create --worktree …

    line 168
  13. Very specific:

    If permissionDefault is none, the command is the binary alone.

    line 172
  14. Distinctive:

    No plugin or skill install.

    line 186

“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Setup

Write the project's Dely pins into one JSON file, and one routing sentence into AGENTS.md. Discover models and effort from the installed harnesses. Do not store a catalogue. Do not install, trust, or enumerate anything.

Harness facts live in ../../harnesses.json relative to this skill (repository root harnesses.json). Read that file. Do not copy a list from this package, from memory, or from docs/.

Two files

.dely/pins.json            team pins, tracked
.dely/local/pins.json      personal pins, never tracked
.dely/local/.gitignore     contains *, so nothing under .dely/local is tracked
.dely/local/runs/<run>/    prompts and handoffs of one Orca Run, written by delivery

Each file is an object whose only keys are implement and review. Each value has exactly the string keys harness (an id from harnesses.json), model and effort. A file may name one phase or both. Per phase, the personal file wins over the team file, and the team file over Control's own harness with default for Model and Effort. In a linked worktree, the personal file is looked for in that worktree first and then in the main checkout; only one personal file is read, never both. dely pins --repo <path> prints what resolves and from where.

Pins configure implement and review — nothing else. There is no control row, because the current interactive session already exists and is never dispatched; there is no release row, because release has no LLM worker; there is no Plan Mode or design-skill field.

Two paths

Quick. Use the current harness for both implement and review. Use that harness's defaults for model and effort, written as the literal default.

Customize. For each of implement and review, offer the discovered harnesses, models and effort levels and write what the human chooses. Where a harness exposes no way to pin a model or an effort, write the literal default for that cell and point to Orca's agent default arguments. An entry with effortInModel or modelPin: spec-unchecked can be pinned — offer its discovered models and effort levels as for a flag harness, and write Effort default for a model whose effort field is null.

Ask which path, and whether the choice is for the team or only for this person. Do not start writing until both are answered.

What to write

For a team choice, write .dely/pins.json. For a personal choice, write .dely/local/pins.json, and write .dely/local/.gitignore containing the single line * first, so the personal file never shows in git status. Never edit the repository's root .gitignore. Create the directories as needed.

{
  "implement": { "harness": "claude", "model": "default", "effort": "default" },
  "review": { "harness": "codex", "model": "default", "effort": "default" }
}

Use the harness id, not its display name. If the target file exists, show what it holds and write only on a yes. A personal file shadows the team file per phase; say so when writing one.

Then make sure AGENTS.md carries the routing line. If it has no dely:delivery, append:

Bounded or Architectural work invokes dely:delivery; Spike starts no delivery run.

If AGENTS.md contains an old <!-- dely:begin --> block, the helper no longer reads it. Offer to replace the block, from its begin marker through its end marker, with the routing line, and carry its table over to .dely/pins.json as the proposed team pins. Change AGENTS.md only on a yes. Prose outside the block is never touched.

Discovery

Offer only entries whose status is supported. A deferred entry is omitted, not an error. When an offered entry has limits, print it next to that harness.

For each supported entry whose binary is installed, run that entry's discovery. discovery is null when the harness has no listing command; then write the literal default for Model and Effort and point the human to Orca's agent default arguments to set the model. When discovery is an object, run discovery.models and, when discovery.effort is set, that command too.

They are the catalogue. Do not invent a catalogue, do not prompt a model to learn one, and do not treat a /model slash command as discovery.

When discovery.answeredLocally is true, the probe is answered locally: do not treat it as a dispatch.

When discovery.omitVisibility is set, slugs whose visibility equals that value are not offered. When discovery.effortFrom is set, effort levels are that field on each slug, not one vocabulary per harness. When discovery.modelSlugBefore is set, offer the slug before that separator. When discovery.modelField is set, each model's value is that field rather than slug.

When effortFlag is false and discovery.effort and discovery.effortFrom are both absent, write the literal default for Effort. Do not invent an effort vocabulary, do not strip effort suffixes from slugs, and do not synthesize parameterized [effort=…] forms. Omit discovery that is unavailable or unusable rather than guessing.

A harness that is not installed is omitted from the offer, not an error.

Pinning

The literal default in Model or Effort means the harness default is wanted: omit that flag. That is not the same as an unset phase: defaults are a deployment preference, not a reproducible pin, and the execution envelope records the configured value and, where the harness exposes it, the actual observed model and effort.

Where no file names a phase, delivery runs it on Control's own harness with default for Model and Effort. Setup is a convenience over that fallback, not a precondition for it. The run stops only when Control's harness is unknown.

When a choice cannot be offered

Where a choice cannot be offered, do not make it. Take the conservative action — which may be writing a conservative value, and may be doing nothing — and report the choice that was not offered, naming what was available and how to set it; do not write that report into a pins file.

For the instructions-file import: if the current harness's instructionsFile.needsImport is true, the import is absent, and setup cannot ask, write nothing and report the offer that was not made.

Refusals

Stop and report to the human, unchanged, when an existing pins file is not valid JSON in the format above. Do not repair it or guess what it meant.

Instructions file

Read the current harness's instructionsFile. The persistent instruction reaches a harness natively when readsAgentsMd is true. It reaches a harness that does not read AGENTS.md only where the project has instructionsFile.file containing instructionsFile.importLine.

Where needsImport is true and that import is absent, offer to create a one-line file at instructionsFile.file containing instructionsFile.importLine. The human accepts or declines. Never write it unasked.

This carries no configuration: it points at AGENTS.md, it does not copy it.

The offer follows needsImport. Files listed in inert are not imported. Files listed in alsoApplies are applied as rules by that harness; that does not by itself trigger the write offer.

Trust

After the pins are written, for each pinned harness whose trust is dialog, open it once for the human with orca terminal create --worktree path:<repo> --command "<binary> <permissionDefault>", taking binary and permissionDefault from that entry in harnesses.json. If permissionDefault is none, the command is the binary alone. The human answers that harness's own dialog; setup never answers it and never writes a harness store. The human closes the terminal when done. orca-preflight and none need no step.

Preflight

Open a Run first as orca skills get orchestration describes. Then run ../delivery/scripts/dely preflight --repo <path> --run <runId> relative to this skill. Any PREFLIGHT … FAIL (exit 1): do not dispatch to any pin; relay the printed reason to the human.

What setup will not do

No plugin or skill install. No hook trust. Setup may open a pinned harness in an Orca terminal so the human can answer that harness's own trust dialog; it still never answers the dialog and never writes a harness store. No custom agent creation or modification. No coordinator installation or field. No control or release row. No enumeration or invocation of project-owned workflow plugins. No model catalogue.

Print verified install guidance only when the human explicitly asks for it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.