Skip to content
Agentmart
Submit a tool

decision-desk

The owner's decision desk for one /super-conductor link.

Skill by indigoai-us

IndexedMIT
Write a review

Chalk Labs

Need help deploying decision-desk?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/indigoai-us-decision-desk

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The owner's decision desk for one /super-conductor link. It opens one picker per queued decision, writes the answer back to the link's decision queue, and does nothing else. Use when the user says "/decision-desk <link>", "open the decision desk", or "ask me the conductor's decisions here".

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/decision-desk

Tools it pre-approves 16

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(node
  • core/scripts/super-conductor-decisions.mjs:*),
  • Bash(hq
  • monitor:*),
  • lanes
  • link
  • send:*),
  • Bash(bash
  • core/scripts/hq-session.sh:*),
  • Bash(cat:*),
  • Bash(ls:*),
  • Read,
Show 4 more
  • AskUserQuestion,
  • PushNotification,
  • mcp__ccd_session_mgmt__set_session_title,
  • mcp__ccd_session_mgmt__send_message

What's inside

Skill name
decision-desk
Description
The owner's decision desk for one /super-conductor link. It opens one picker per queued decision, writes the answer back to the link's decision queue, and does nothing else. Use when the user says "/decision-desk <link>", "open the decision desk", or "ask me the conductor's decisions here".
License
MIT
Allowed tools
Bash(node, core/scripts/super-conductor-decisions.mjs:*),, Bash(hq, monitor:*),, Bash(hq, lanes, link, send:*),, Bash(bash, core/scripts/hq-session.sh:*),, Bash(cat:*),, Bash(ls:*),, Read,, AskUserQuestion,, PushNotification,, mcp__ccd_session_mgmt__set_session_title,, mcp__ccd_session_mgmt__send_message
Instructions
224 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (2)

  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

# /decision-desk — the only session that asks the owner

**Input:** $ARGUMENTS

## What it is

The decision desk is the only session that opens owner pickers for a conduct
link. The conductor (`/super-conductor`, `/overnight`) never opens a picker:
it appends every owner item to the link's decision queue with
`super-conductor-decisions.mjs add` and this session asks it. An answer for a
child session is relayed by this session the moment the owner picks (Step
3b); an answer that goes back to a teammate on a channel or DM is relayed by
the conductor when its `SUPER-CONDUCTOR ANSWER` line arrives. The conductor's
turn is never held by a picker, so a decision reaches the owner as soon as it
is queued, and a child session has its answer seconds after the pick.

One picker per decision:

- The question text is the row's `question`, prefixed with who asked (the
  row's `asked_by`, or its `source:ref` when `asked_by` is empty).
- Two to four options, taken from the row's `options`. The recommended
  option goes first with the `(Recommended)` suffix on its label. Each
  option's `description` is the row's option description.
- Up to four decisions per `AskUserQuestion` call, one question each (owner,
  2026-10-21: "4 questions per picker"). Fewer when fewer are open. Critical
  rows go in the first call on their own when any are open, so they are never
  held behind routine ones.

## Step 1: Parse

`/decision-desk <link>` where `<link>` is the conduct link id (`cl-...`).
Without a link, read `workspace/reports/conduct/` and ask for the link with
one picker when more than one `*-decisions.jsonl` exists; with exactly one,
use it.

- Queue file: `workspace/reports/conduct/<link>-decisions.jsonl`.
- Desk file: `workspace/reports/conduct/<link>-desk.json`.
- Set the session title to `Decision desk · <link>` with
  `mcp__ccd_session_mgmt__set_session_title`.

## Step 2: Arm the wake

Arm the watcher in the same turn, before the first drain. It is a persistent
monitor that delivers a `SUPER-CONDUCTOR DECISION` line into this session
once per new open row, and a `SUPER-CONDUCTOR STALE-DECISION` line once per
row still open after five minutes:

```bash
hq monitor start --persistent --json \
  --target "session:claude:$CLAUDE_CODE_SESSION_ID" \
  --description "decision desk <link>" \
  -- node core/scripts/super-conductor-decisions.mjs watch \
    --file workspace/reports/conduct/<link>-decisions.jsonl --for desk --interval 5 --stale-after 300
```

Always pass `--target`: in the desktop app `hq monitor` cannot find the
session on its own and fails with `monitor_target_unresolved`.

Record the returned monitor id in the desk file:

```json
{"link": "<link>", "monitor_id": "<id>", "session": "<this session's local_ id>", "started_at": "<ISO time>"}
```

Never run two watchers for one queue. Before starting, read the desk file
and `hq monitor list --json`; when the recorded monitor id is still listed,
reuse it. Re-arm only when the desk file has no monitor, when the heartbeat
reports `STOPPED`, or when `hq monitor list --json` no longer shows the
recorded id. Then overwrite the desk file with the new id.

The watcher keeps its own seen file next to the queue
(`<link>-decisions-desk-seen.json`), so a restart does not repeat lines.

## Step 3: Drain

Loop until the queue has no open row:

1. Claim up to four rows in one call:
   `node core/scripts/super-conductor-decisions.mjs next --file <queue> --json --claim <desk name> --count 4`.
   It prints a JSON array of up to four distinct open rows, oldest first,
   and claims them all at once. When a critical row is open the array holds
   only critical rows. A row another desk claimed in the last 15 minutes is
   skipped; this desk's own claims are returned again, so a desk restarted
   mid-picker re-asks them. Never call `next` more than once per picker: a
   second call returns the same rows. Exit 3 means no open row is left;
   stop the loop. With several desks, each
   runs with `--lane merges|asks|general` on `next` and `watch`; the default
   is one desk for every lane (owner, 2026-10-21: "one desk").
2. One `AskUserQuestion` with one question per claimed row, built as
   described in "What it is".
3. Write each answer. `<text>` is the label the owner picked (without the
   `(Recommended)` suffix), or their "Other" text verbatim.
   - A row with a `relay` session or child (a child session's ask):
     `node core/scripts/super-conductor-decisions.mjs answer --file <queue> --id <id> --answer "<text>" --desk <desk name> --relay-by desk`
     then Step 3b in the same turn.
   - Any other row (a teammate's request, the conductor's own item):
     `node core/scripts/super-conductor-decisions.mjs answer --file <queue> --id <id> --answer "<text>" --desk <desk name>`.
     The conductor relays it on its `SUPER-CONDUCTOR ANSWER` line.
   - `--desk` is the name this desk claimed with. `answer` refuses a row
     another desk claimed in the last 15 minutes: that desk's picker is open.
     Exit 2 with "is claimed by" means skip the row; it is not this desk's.
4. Repeat from 1.

A `SUPER-CONDUCTOR DECISION` line arriving in this session is the wake:
send the owner one `PushNotification` with the open count only (never the
question text, which is often a teammate's message, and never options), then
run Step 3 on it. Every new
card pushes; the owner is not expected to be looking at this window. The line names one row and the open count; `next` is still the
source of truth for which row is asked first (oldest open, critical first).

When the owner says "drop", "not mine", "skip it", or words to that effect,
the row is dropped instead of answered, with their words as the reason:
`node core/scripts/super-conductor-decisions.mjs drop --file <queue> --id <id> --note "<their words>" --by desk`.
`drop` refuses an empty note.

## Step 3b: Relay a child session's answer

For a row answered with `--relay-by desk`, deliver the answer to the child in
the same turn, both ways (`hq-conduct-instruction-dual-delivery`), then mark

From indigoai-us/hq-pack-core-skills, MIT.

More from indigoai-us/hq-pack-core-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 23, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from indigoai-us

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get decision-desk running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying decision-desk?

CallGet help
Cite this page

decision-desk skill. Agent Mart. https://agentmart.dev/skills/indigoai-us-decision-desk (last updated 2026-10-24)