Skip to content

feat(skills): add interactive captain aside sessions - #16

Merged
Quidge merged 5 commits into
mainfrom
fm/aside-skill
Aug 5, 2026
Merged

feat(skills): add interactive captain aside sessions#16
Quidge merged 5 commits into
mainfrom
fm/aside-skill

Conversation

@Quidge

@Quidge Quidge commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Intent

Author a terse, captain-invocable /aside skill at .agents/skills/aside/SKILL.md in the firstmate repo. /aside opens a dedicated interactive window (an interactive scout / human-in-the-loop session) that the captain talks to DIRECTLY for ad-hoc, multi-turn context-gathering, instead of loading everything into the main firstmate chat; on conclusion it hands its outcome back to the main firstmate session.

Deliberate design decisions: (1) The skill builds on fm-spawn.sh's --scout shape, chosen as the lightest viable spawn that fm-spawn cleanly supports for a non-ship, non-secondmate window - scout already yields a scratch worktree plus the report.md + status-line conclusion contract with no PR and no delivery-mode machinery. (2) The aside session is deliberately INTERACTIVE WITH THE CAPTAIN: it explicitly bends hard rule 4 (a crewmate never addresses the captain) for this one opt-in session only, while every other supervision and safety rule still holds - this bend is intentional, not a mistake. (3) The session concludes only when the captain says so, writing its outcome to data//report.md and appending a done: status line so the main firstmate reconciles it and tears the window down. (4) Required frontmatter: name: aside, a description covering what it does and when the captain invokes it, user-invocable: true, metadata.internal: true.

Accepted follow-up requirement folded in during review: the /aside session MUST append 'paused: awaiting captain' to its status file between the captain's turns, so firstmate treats its idle as a bounded human-wait rather than a possible wedge/hang; the skill documents that firstmate reconciles an aside's idle as healthy (a captain conversation in progress) and rechecks on the long paused cadence until done.

Scope is intentionally minimal/terse v1 - capture the essence only (spawn the window, interactive-with-captain, conclude back to main firstmate, teardown), not an over-built control plane; the captain will iterate. This touches firstmate's shared tracked material (.agents/skills/), authored per firstmate-coding-guidelines: one sentence per line in Markdown, plain dashes not em dashes, size discipline, trigger declared via user-invocable frontmatter, no agent commit co-author.

What Changed

  • Add the captain-invocable /aside skill for direct, multi-turn conversations in an isolated scout window.
  • Define healthy paused: awaiting captain handling and captain-triggered handback through the scout report, status, and teardown contracts.
  • Register the skill as an agent-runtime documentation surface.

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed
✅ **Rebase** - passed
✅ **Review** - completed
✅ **Test** - passed
✅ **Document** - passed
✅ **Lint** - passed
✅ **Push** - passed

Quidge added 5 commits August 5, 2026 19:56
/aside opens a dedicated scout-shaped window the captain converses with
directly to gather ad-hoc context, deliberately bending hard rule 4 for
the opt-in, then concludes back to the main firstmate via report and status.
Between captain turns the aside session appends 'paused: awaiting captain'
so firstmate reconciles its idle as a healthy human-wait, not a wedge.
@Quidge
Quidge merged commit 201b602 into main Aug 5, 2026
13 checks passed
@Quidge
Quidge deleted the fm/aside-skill branch August 5, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant