Skip to content

feat: your skill and knowledge review requests in Codex — /altimate-code:rules - #8

Open
saravmajestic wants to merge 1 commit into
mainfrom
feat/workspace-review-status
Open

saravmajestic wants to merge 1 commit into
mainfrom
feat/workspace-review-status

Conversation

@saravmajestic

Copy link
Copy Markdown
Contributor

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:rules adds "Your skill and knowledge requests" after your proposals, from workspace review status --json: status, update, reviewer and reason, and "waiting past 14 days". Replaced requests are counted, not listed.
    • The Codex sandbox has no network, so when the listing fails there it tells you to run altimate-code workspace review status in a terminal.
  • Decisions at session start come from altimate-code: the session-start context now includes decisions since the last session and how many requests are waiting, with no hook change here. Codex has no UI module, so there's no toast.
  • Not here: the publish guidance. The Codex SKILL.md has no skill publish line 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 use skill publish "<name>" --json and relay the review outcome, as the Claude plugin does.
  • Version 1.3.0, with the CHANGELOG and README updated.

Verification

  • Both shell tests pass. tests/resolve-cli.sh now 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.
  • The CLI side was tested end to end through the VS Code extension: AltimateAI/vscode-altimate-mcp-server#545. I haven't run this plugin in a live Codex session.

🤖 Generated with Claude Code

…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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@kilo-code-bot

kilo-code-bot Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: 5 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 4
Issue Details (click to expand)

WARNING

File Line Issue
plugins/altimate-code/commands/rules.md 32 "Any other exit … leave this part out without comment" also matches the no-network failure that the next bullet requires to be reported, so the pointer is silently dropped in Codex's sandbox.

SUGGESTION

File Line Issue
plugins/altimate-code/commands/rules.md 31 complete and skipped are documented in the exit-0 shape but never used; a partial result (complete: false) would be presented as the full list.
plugins/altimate-code/commands/rules.md 38 "newest first" has no timestamp field in the item contract, so the ordering cannot be derived reliably.
plugins/altimate-code/commands/rules.md 33 Recovery guidance names only altimate-code, although the resolver and CHANGELOG 1.1.0 explicitly support installs that expose only altimate.
plugins/altimate-code/CHANGELOG.md 11 No note that this needs an altimate-code with workspace review status; older CLIs silently omit the section, so docs are the only signal (1.2.0 had such a note).
Files Reviewed (5 files)
  • plugins/altimate-code/.codex-plugin/plugin.json - version bump to 1.3.0, no issues
  • plugins/altimate-code/CHANGELOG.md - 1 SUGGESTION
  • plugins/altimate-code/README.md - no issues (claims match the session-start hook, which passes the CLI JSON through verbatim)
  • plugins/altimate-code/commands/rules.md - 1 WARNING, 3 SUGGESTIONS
  • tests/resolve-cli.sh - no issues (rules.md now has 3 resolver blocks; the new block is byte-identical after dedent, so the identity check still passes)

Verified: Bash/POSIX shell compatibility of the added block matches the existing resolver pattern, no bare altimate-code <area> call was introduced, and no duplicate resolver logic was flagged because tests/resolve-cli.sh deliberately requires identical copies.

Fix these issues in Kilo Cloud


Reviewed by deepseek-v4.1-flash-1017 · Input: 54.4K · Output: 17.6K · Cached: 601.3K

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