Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .agents/skills/communication/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@ Read [messages](references/messages.md) before every message. Add only the refer

## User instruction

The supported installed path is `.agents/skills/communication/SKILL.md`, relative to the consumer project or assistant home. Its user instruction file carries this writing reference:
For a global install, put this writing reference in the user-scope instruction file:

```text
Before writing a message to a person, read `$HOME/.agents/skills/communication/SKILL.md`.
```

For a project install, put this writing reference in the project-scope instruction file. The path is relative to the project root:

```text
Before writing a message to a person, read `.agents/skills/communication/SKILL.md`.
Expand Down
12 changes: 9 additions & 3 deletions .agents/skills/orch/scripts/lib/adapters/codex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ lane_adapter_codex_reading() { # UNREAD

# The hook cannot call the session's collaboration tools. Codex 0.163.0
# persists their calls and results in its rollout; read that ordered history
# instead. A snapshot observes idle or returned agents. Later launches and
# followups put them out again. /root is the lead, never its attached child.
# instead. A snapshot or named completion observes returned agents. Later
# launches and followups put them out again. /root is the lead, never its child.
# The caller bounds the full read and discards output on a parse failure.
# PreToolUse.tool_use_id names the invocation being judged, which is not an
# earlier launch even where its call is already in the rollout:
Expand All @@ -73,7 +73,10 @@ lane_adapter_codex_agents() { # [CURRENT_CALL_ID]
else "unknown" end;
def name: if type == "string" and test("^/root(/[A-Za-z0-9_-]+)*$") then .
else error("invalid agent name") end;
reduce (inputs | fromjson | objects | select(.type == "response_item") | .payload
reduce (inputs | fromjson | objects
| select(.type == "response_item" or (.type == "event_msg"
and .payload.type == "item_completed" and .payload.item.type == "SubAgentActivity"
and .payload.item.kind == "completed")) | .payload
| select($current_call == "" or .call_id != $current_call)) as $r
({calls: {}, agents: {}, observed: false, unread: false};
if $r.type == "function_call" then
Expand Down Expand Up @@ -117,6 +120,9 @@ lane_adapter_codex_agents() { # [CURRENT_CALL_ID]
end
) catch ($before | .unread = true)
| del(.calls[$r.call_id])
elif $r.type == "item_completed" then
($r.item.agent_path | name) as $id
| if .agents[$id] != null then .agents[$id] = "completed" else . end
else . end)
| (.agents | to_entries[] | if .value == "unknown" then ["?", "agent-status"]
else [.key, .value] end | @tsv),
Expand Down
Loading
Loading