Skip to content

feat(unlimotion-cli): add operational skill - #1

Closed
Kibnet wants to merge 1 commit into
mainfrom
feat/unlimotion-cli-operational-skill
Closed

Kibnet wants to merge 1 commit into
mainfrom
feat/unlimotion-cli-operational-skill

Conversation

@Kibnet

@Kibnet Kibnet commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Summary

Добавить в репозиторий операционный skill для безопасной работы с задачами через Unlimotion CLI и описать его личную установку.

Changes

  • .agents/skills/unlimotion-cli/: контракт проверенного Unlimotion main / CLI v1.32.0 с выбором возможностей по фактически запущенному бинарнику и fallback для 1.31.1.
  • README.md: auto-discovery в репозитории и необязательное копирование в личный каталог без перезаписи установленного skill.
  • Две связанные SPEC фиксируют исходный контракт, расширение scope, behavioral smoke и review evidence.

Validation

  • python .../skill-creator/scripts/quick_validate.py .agents/skills/unlimotion-cli — PASS (PYTHONUTF8=1).
  • pwsh -File scripts/validate-instructions.ps1 — PASS.
  • pwsh -File scripts/test-validate-instructions.ps1 — PASS, 318 assertions agent operations.
  • git diff --cached --check — PASS; после коммита ветка чистая.
  • Frozen synthetic before/after и active-path smoke выполнены без живого task-space; source contract Unlimotion origin/main@d1e6702f перепроверен.
  • Rebase на свежий origin/main@62ce639 выполнен без конфликтов: ветка уже основана на этом коммите.

Risks / Rollback

  • Глобально установленный CLI остаётся 1.31.1; этот PR не устанавливает v1.32.0 и не меняет задачи. Реальный task-space под v1.32.0 не тестировался.
  • При совпадении имени repo и personal skill возможны две видимые записи; README это объясняет.
  • Откат: revert коммита PR; личная копия skill вне репозитория этим PR не управляется.

Links

  • Spec: specs/2026-09-26-unlimotion-cli-skill.md
  • Spec: specs/2026-09-27-unlimotion-cli-repo-install.md

Add the repository-discoverable skill and an optional no-overwrite personal install guide. Route CLI capabilities by the executable in use, preserving the 1.31.1 fallback while documenting the verified 1.32.0 contract.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 44bf37930a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- На Windows разреши `Get-Command unlimotion-cli` до абсолютного пути исполняемого файла и закрепи его для всей связанной серии (например, `$cliExe = (Get-Command unlimotion-cli -CommandType Application).Source`; далее `& $cliExe ...` для version/help/context, поиска, чтения, preview, записи, inspect и read-back). Если путь — неоднозначный alias/wrapper или обнаруженная команда сменилась, остановись перед записью. Не смешивай вывод одного бинарника с командой из другого `PATH`/checkout.
- У того же бинарника попробуй `version --format json` и `help search --format json`. Для версии с этим контрактом (проверен `v1.32.0`) используй `help <command>`, `apply schema`, `apply example`, `search`, `task --include` и `apply inspect`. Удостоверься, что `packageVersion` соответствует разрешённому пути: `dotnet tool list --global` подходит только для global shim, для `--tool-path` нужен соответствующий `dotnet tool list --tool-path`; у local build учитывай `buildKind=local`. При несоответствии identity/capability не выполняй мутацию.
- Для подтверждённого нового контракта выбери task-space через `context [--tasks <путь пользователя>] --format json` того же бинарника. В `v1.32.0` приоритет: явный непустой `--tasks` → непустой `UNLIMOTION_TASKS` → active desktop settings; ошибочный выбранный путь не вызывает тихий fallback. Если пользователь указал каталог, передай его в `context` сразу. Возьми абсолютный `tasksPath` и передавай его как явный `--tasks` **во все** связанные вызовы. `context` проверяет существование каталога, но не граф и не будущую возможность записи.
- Для установленной 1.31.1 сохраняй прежний маршрут: явный пользовательский `--tasks` имеет приоритет, иначе используется активное локальное пространство desktop. `UNLIMOTION_TASKS` не считай поддержанным без проверки конкретного бинарника. Для `apply` читай [references/apply-v1.31.1.md](references/apply-v1.31.1.md). Если контракт другой версии не обнаружен, не угадывай request JSON.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Pin the legacy task-space before mutating it

When CLI 1.31.1 is used without an explicit --tasks, this branch relies on the active desktop workspace but, unlike the 1.32.0 branch, never resolves and pins that workspace for the command sequence. The commit's verified legacy contract in specs/2026-09-26-unlimotion-cli-skill.md:31-34 says each invocation falls back to desktop settings, so switching workspaces between the initial read and apply, claim, or create can mutate a different task-space and make the subsequent read-back misleading. Require an explicit path before legacy mutations or resolve the desktop path once and pass it to every invocation.

Useful? React with 👍 / 👎.

- Adversarial risk pass: main/installed mismatch, local tool-path vs global list, `context` не проверяет граф, `apply inspect` может восстановить journal, receipt vs current state, занятый install destination, дубли `name`, active/source drift и недоступный CLI. План ограничивает мутации и вводит before/after smoke.
- Role-Based pass: таблица выше; domain/workflow, UX/copy, Tester, Developer и Delivery применимы. Active personal SKILL — отдельная стадия после candidate validation.
- Fix and re-review: reviewer нашёл stale review от прежнего byte-copy scope (HIGH) и незафиксированный путь бинарника (MEDIUM). Переписаны Scope/Contract/Adversarial/Role passes под semantic update, AC6 и active-path validation; добавлены absolute executable pin и негативный mismatch smoke. Targeted reviewer повторно прочитал обе поверхности и подтвердил исправление. Sections 1–8, 20 linter items и обе пользовательские фразы повторно сверены.
- Depth checklist: scope drift — новая фраза отражена отдельно, прежняя SPEC не меняется; AC — 1–6 с negative scenarios; pre-approval full catalog tests (316 assertions) были до semantic дополнения SPEC, а static validator текущей SPEC повторно прошёл (exit 0); после EXEC повторить оба quality gates; unsupported claims — main SHA и установленный 1.31.1 проверены отдельно; regression/edge — version mismatch, uncertain write, occupied destination, duplicate skill; docs/changelog — README меняется, CHANGELOG не требуется без release; hidden contract — source-vs-runtime gate; manual challenge — см. ниже.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Record the new canonical skill in the changelog

The statement that CHANGELOG is unnecessary without a release contradicts instructions/governance/versioning-policy.md, which applies to every canonical-instruction change and requires all significant changes to be recorded. Adding an operational skill that can direct live task mutations is significant, so omitting it leaves the versioned catalog history at 5.1.0 without this new behavior; add the corresponding SemVer/changelog entry instead of treating changelog updates as release-only.

AGENTS.md reference: AGENTS.md:L67-L71

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-29T09:37:04.872118Z 44bf379 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Kibnet Kibnet closed this Sep 29, 2026
@Kibnet
Kibnet deleted the feat/unlimotion-cli-operational-skill branch September 29, 2026 20:39
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