Repository navigation
feat: your skill and knowledge review requests in Codex — /altimate-code:rules - #8
saravmajestic wants to merge 1 commit into
Conversation
…altimate-code:rules (1.3.0) - `/altimate-code:rules` also lists the person's skill and knowledge requests to the linked workspace (`workspace review status --json`): status, update, reviewer, reason, waiting over 14 days; replaced ones counted, not listed. Read-only: withdraw and remove happen in the web app, altimate-code's TUI or VS Code extension. Codex's default sandbox has no network: there it points to running the command in a terminal. - Session start already tells Codex of decisions on those requests (altimate-code); the README and changelog say so. - The resolver check counts the new block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| "$ALTIMATE_BIN" workspace review status --json < /dev/null | ||
| ``` | ||
| - Exit 0 answers JSON with `workspace_name`, `items`, `skipped` and `complete`. Each item has `kind` (`skill` or `knowledge`), `name`, `status` (`pending`, `active`, `rejected`, `superseded`, `withdrawn` or `retired`), `change` (`add` or `edit`), `reviewed_by_name`, `review_reason` and `expired`. | ||
| - Any other exit (not linked, not signed in, a server without review, an older altimate-code that has no `review` command): leave this part out without comment. |
There was a problem hiding this comment.
WARNING: This bullet swallows the sandbox case the next bullet asks to report
"Any other exit" includes the no-network failure in Codex's default sandbox, so an agent following this bullet literally leaves the section out silently — the exact environment this feature targets — and never emits the pointer required on the next line. Scope this bullet to the listed causes, for example "Any other exit (except the sandbox connection error below)", so the two rules cannot both match the same exit.
| [ -n "$ALTIMATE_BIN" ] || { echo "altimate-code CLI not found (tried altimate-code, altimate)" >&2; exit 127; } | ||
| "$ALTIMATE_BIN" workspace review status --json < /dev/null | ||
| ``` | ||
| - Exit 0 answers JSON with `workspace_name`, `items`, `skipped` and `complete`. Each item has `kind` (`skill` or `knowledge`), `name`, `status` (`pending`, `active`, `rejected`, `superseded`, `withdrawn` or `retired`), `change` (`add` or `edit`), `reviewed_by_name`, `review_reason` and `expired`. |
There was a problem hiding this comment.
SUGGESTION: complete and skipped are documented but never used
These two response fields are introduced here, but the display rules in step 2 read only items, workspace_name and the item fields. If complete can be false (partial result) or skipped non-zero, the prompt tells the agent to present a possibly truncated list as the whole list. Add a bullet for the complete: false/skipped > 0 case (say the list may be partial and to re-run), or drop the fields from this description.
| 2. **Show the state.** The JSON has `workspace` (`name`, `owner_name`, `is_owner`; `null` when the project is not linked), `proposals`, `team_rules` and `mine`. Show, briefly: | ||
| - the number of team rules in the workspace, and their texts when there are 10 or fewer; | ||
| - the user's own proposals in `mine` that are not yet active, with their `status` and, for a rejected one, the `reason`; | ||
| - the user's skill and knowledge requests, newest first: kind, name, status (`pending` → waiting for review, `active` → approved, `rejected`, `withdrawn`, `retired` → removed from the workspace), "update" for `change: edit`, the reviewer and the reason when given, and "waiting over 14 days" when `expired`. Do not list `superseded` ones (replaced by a newer request); say how many there were instead. Withdrawing a waiting request or removing an approved one happens in the Altimate web app, the altimate-code TUI (`/rules`) or the VS Code extension, not here; |
There was a problem hiding this comment.
SUGGESTION: "newest first" cannot be applied from the documented item shape
The item fields listed on line 31 contain no timestamp (requested_at, created_at, …), so the agent has nothing to sort by and may invent an order. Either document that items already arrives newest first, or add the field to the item contract and sort on it.
| ``` | ||
| - Exit 0 answers JSON with `workspace_name`, `items`, `skipped` and `complete`. Each item has `kind` (`skill` or `knowledge`), `name`, `status` (`pending`, `active`, `rejected`, `superseded`, `withdrawn` or `retired`), `change` (`add` or `edit`), `reviewed_by_name`, `review_reason` and `expired`. | ||
| - Any other exit (not linked, not signed in, a server without review, an older altimate-code that has no `review` command): leave this part out without comment. | ||
| - Codex's sandbox has no network, so this can fail there with a connection error: then say once that `altimate-code workspace review status`, run in a terminal, lists them (or the Altimate web app does), and go on. |
There was a problem hiding this comment.
SUGGESTION: Recovery guidance names only altimate-code, although the plugin resolves both names
The resolver block immediately above falls back to altimate because curl installs may expose only that name (CHANGELOG 1.1.0 "recovery messages now … point to altimate"). A user with such an install is told to run a command that does not exist. Mention both names, e.g. altimate-code workspace review status (or altimate …), as the resolver does.
|
|
||
| ### Added | ||
| - `/altimate-code:rules` also lists your skill and knowledge requests to the linked workspace: waiting, approved, rejected with the reviewer's reason, withdrawn or removed (replaced requests are counted, not listed). It is read-only: withdraw or remove in the Altimate web app, altimate-code's TUI or its VS Code extension. Codex's default sandbox has no network, so there the command points you to `altimate-code workspace review status` in a terminal. | ||
| - Session start tells Codex of decisions on your skill and knowledge requests since your last session, and how many still wait (from altimate-code, with no plugin change). |
There was a problem hiding this comment.
SUGGESTION: State the altimate-code release requirement, as 1.2.0 did
The 1.2.0 entry ends with "The hooks need an altimate-code release with learn hook; with an older one they do nothing". This release needs an altimate-code with workspace review status, and on an older CLI /altimate-code:rules silently omits the section (rules.md line 32), so the docs are the only place a user can learn why. Add the equivalent sentence here or in the README.
Code Review SummaryStatus: 5 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (5 files)
Verified: Bash/POSIX shell compatibility of the added block matches the existing resolver pattern, no bare Fix these issues in Kilo Cloud Reviewed by deepseek-v4.1-flash-1017 · Input: 54.4K · Output: 17.6K · Cached: 601.3K |
Summary
Your own skill and knowledge requests to a linked workspace, and the owner's or an admin's decisions on them, now show in Codex sessions. This is read-only: withdrawing and removing happen in the Altimate web app, the altimate-code TUI or the VS Code extension. It needs altimate-code with AltimateAI/altimate-code#1716 (stacked on #1708). Merge and release this after the first altimate-code release that includes it.
/altimate-code:rulesadds "Your skill and knowledge requests" after your proposals, fromworkspace review status --json: status, update, reviewer and reason, and "waiting past 14 days". Replaced requests are counted, not listed.altimate-code workspace review statusin a terminal.SKILL.mdhas noskill publishline yet, and open PR feat: bring workspace tools and skill refresh to the Codex plugin #6 adds one. feat: bring workspace tools and skill refresh to the Codex plugin #6 should useskill publish "<name>" --jsonand relay the review outcome, as the Claude plugin does.Verification
tests/resolve-cli.shnow counts 3 commands that name the CLI, which will need a small merge with feat: bring workspace tools and skill refresh to the Codex plugin #6.🤖 Generated with Claude Code