Skills for claude, and maybe other harnesses later on
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
claude e65f772eba
All checks were successful
gitleaks / gitleaks (push) Successful in 3s
herdr skills use agent prompt and the herdr 0.9 wait syntax (#30)
**Goal:** the herdr-cli skills match herdr 0.9: `agent prompt` instead of the removed `agent send`, and the new wait syntax.

**Value:** high
**Effort:** 30m

---

## Why

On herdr 0.9.3 a dispatch failed: `herdr agent send` no longer exists (the CLI printed its usage), so the documented "send, read back, press Enter" loop does nothing. `herdr agent prompt <target> <text>` now types and submits in one call, and with `--wait` it reports `agent_prompt_stalled` when the turn does not start -- which covers the "idle != ready" drop the old loop guarded against. The wait commands moved too: `--status` became `--until`, and the top-level `herdr wait` group is gone (`agent wait`, `pane wait-output`).

---

## Steps

- [x] `dispatch/SKILL.md`: step 5 submits with `agent prompt --wait --until working`, with the stalled / blocked recovery (Enter only if the text is still in the box, re-prompt only if the box is empty); brief note uses `agent prompt` and a scratchpad file for long briefs; step 6 and footguns updated.
- [x] `herdr-cli/SKILL.md`: dispatch section rewritten around `agent prompt` + `pane send-text`; waiting section uses `agent wait --until` and `pane wait-output`; recipes and footguns updated; no `agent send` / `herdr wait` left.

---

## Notes

- Verified on herdr 0.9.3 from `herdr agent prompt --help`, `herdr agent wait --help`, `herdr pane` usage, and a live dispatch (a multiline brief submitted with `agent prompt` reached `working`).
- `pytest tests` passes (no script changed).

Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Jerome Chiche <jerome@noreply.chichefam.com>
Reviewed-on: #30
2026-10-30 11:52:54 +02:00
.claude-plugin feat: add prioritize-next-features plugin (#24) 2026-07-19 08:24:46 +03:00
.forgejo/workflows feat: scan for leaked secrets in CI with gitleaks 2026-06-12 18:02:53 +03:00
pi/extensions Publish the repo as a pi package (#31) 2026-10-30 11:52:37 +02:00
plugins herdr skills use agent prompt and the herdr 0.9 wait syntax (#30) 2026-10-30 11:52:54 +02:00
tests/plugins/forgejo-cli/skills/forgejo-cli/scripts make fj_write.py report issue creation and stop routing label writes through fj (#29) 2026-08-09 19:19:34 +03:00
.gitignore feat: script Forgejo writes; fj-worker becomes recovery-only (#9) 2026-06-26 12:27:57 +03:00
CLAUDE.md forbid conventional-commit type prefixes in PR titles (#25) 2026-07-19 08:36:49 +03:00
package.json Publish the repo as a pi package (#31) 2026-10-30 11:52:37 +02:00
README.md Publish the repo as a pi package (#31) 2026-10-30 11:52:37 +02:00

chiche-plugins

A Claude Code plugin marketplace of shareable, version-controlled skills. Install once from here, use on any machine -- no more per-workstation ~/.claude/skills/ copies.

Plugins

Plugin Skills What it does
forgejo-cli forgejo-cli, release fj (Cyborus/forgejo-cli) reference -- pr/issue/repo/actions/auth mechanics and footguns. General; no instance specifics. release cuts a develop -> main release PR with grouped notes.
herdr-cli herdr-cli, dispatch herdr (herdr.dev) reference -- monitor, message, and wait on multiple coding-agent panes from one orchestrator session. dispatch hands a task off mid-conversation to a fresh Claude in its own tab and git worktree.
tasks task-new, task-implement, task-orchestrate, task-review PR-first task flow for projects in any language on Forgejo (fj): brainstorm a spec into a draft PR, resolve it to code-complete in a worktree, run the install/lint/typecheck/test loop, review the diff against the spec, and drive it to good-to-merge (a human performs the merge). Per-language toolchain defaults live under task-implement/languages/.
prioritize-next-features prioritize-next-features Scans a codebase for TODOs, stub methods, doc callouts, and open issues, and ranks them into two shortlists: the 5 most important features to build next, and the 5 cheapest to deliver.

Install

Add the marketplace (once per machine):

/plugin marketplace add forge.chichefam.com/public/chiche-plugins

Then install whichever plugins you want:

/plugin install forgejo-cli@chiche-plugins
/plugin install herdr-cli@chiche-plugins
/plugin install tasks@chiche-plugins
/plugin install prioritize-next-features@chiche-plugins

Skills become available to Claude automatically once their plugin is installed.

pi

The same repo is a pi package. Install it once:

pi install ssh://git@forge.chichefam.com/public/chiche-plugins

pi loads the skills that work without Claude Code: forgejo-cli, release, herdr-cli, prioritize-next-features. It also loads the extensions in pi/extensions/. dispatch and the tasks skills stay Claude-only: they start claude or depend on AskUserQuestion, subagents and /skill chaining. forgejo-cli's recovery step also hands off to a Claude subagent (fj-worker), so on pi it ends at the failed script's error output.

Layout

.claude-plugin/marketplace.json   marketplace manifest
plugins/<plugin>/
  .claude-plugin/plugin.json       plugin manifest
  skills/<skill>/SKILL.md          one or more skills
package.json                       pi package manifest (`pi` key lists the shared skills)
pi/extensions/                     pi-only TypeScript extensions

Adding a skill

  1. Drop the skill dir under an existing plugin's skills/, or scaffold a new plugins/<name>/ with a .claude-plugin/plugin.json.
  2. If it's a new plugin, add an entry to .claude-plugin/marketplace.json.
  3. If the skill runs on pi as-is, add its directory to pi.skills in package.json.
  4. Commit and push. Installed machines pick it up on /plugin marketplace update chiche-plugins.