Skip to content

chore(mops-cli): sync caffeinelabs/mops cli-v2.20.0 - #347

Merged
raymondk merged 1 commit into
mainfrom
chore/sync-upstream-mops-cli-v2.20.0
Aug 12, 2026
Merged

chore(mops-cli): sync caffeinelabs/mops cli-v2.20.0#347
raymondk merged 1 commit into
mainfrom
chore/sync-upstream-mops-cli-v2.20.0

Conversation

@marc0olo

Copy link
Copy Markdown
Member

Syncs the mops-cli skill from upstream caffeinelabs/mops cli-v2.19.0cli-v2.20.0.

The body is 1:1 with upstream (only frontmatter differs, per .claude/upstream.md), so every upstream + line is applied.

Changes

  • mops install — document that local path dependencies are stored root-relative in the lockfile (portable), and that a plain install won't rewrite absolute paths left by older CLIs (use mops install --lock update).
  • mops toolchain — rename bundled pic-jsvendored @dfinity/pic client; add a pocket-ic versions note: 9.0.0+ runs on @dfinity/pic, pins below 9.0.0 use the legacy pic-ic client (deprecation warning, removed in mops v3).
  • mops publish — new section under ## Other Commands covering --dry-run scope and its limits (does not validate canister config or prove registry acceptance).
  • compatibility bumped to mops >= 2.20.0.
  • .claude/upstream.md — updated Tag, Commit (full SHA), Last synced.

No icskills-owned sections were touched (this skill has none — body is 1:1 with upstream).

Evals

Updated evaluations/mops-cli.json:

  • Renamed the stale pic-js terminology in the existing "Replica tests pocket-ic pin" case.
  • Added an adversarial mops publish --dry-run scope case — a new command with a non-obvious limitation agents get wrong.
  • Added a publish trigger query.
Eval results

New case — Adversarial: mops publish --dry-run scope (WITH 4/4 vs baseline 2/4):

WITH skill: 4/4 passed
  ✅ Explains --dry-run runs the same local pipeline but stops before identity/upload
  ✅ Clarifies it does NOT validate canister config (SPDX/semver/name rules)
  ✅ Clarifies it does NOT prove registry acceptance
  ✅ Does NOT claim a passing --dry-run guarantees the real publish will succeed

WITHOUT skill: 2/4 passed
  ❌ never describes the local pipeline / stops-before-upload
  ❌ claims the OPPOSITE — that dry-run checks version format and config
  ✅ Clarifies it does NOT prove registry acceptance
  ✅ Does NOT claim --dry-run guarantees success

New trigger"How do I publish my package to the mops registry?" → ✅ triggers.

Changed case — Replica tests pocket-ic pin (terminology-only edit; the @dfinity/pic behavior passes with the skill). The two misses (the "why" explanation and the bench/watch note) are the model answering tersely under the "just the config change" prompt — judge variance unrelated to the terminology change, not rescoped in this sync PR.

npm run validate — all 27 skills pass.

Closes #342

Apply upstream cli-v2.19.0 → cli-v2.20.0 delta to the mops-cli skill:

- mops install: note relative lockfile path storage and the older-CLI
  absolute-path caveat (use --lock update)
- toolchain: rename pic-js → vendored @dfinity/pic client; add pocket-ic
  minimum-version note (< 9.0.0 legacy pic-ic, removed in mops v3)
- add mops publish section incl. --dry-run scope and limits
- bump compatibility to mops >= 2.20.0
- update .claude/upstream.md tag/commit/last-synced

Evals: rename pic-js terminology in the pocket-ic pin case; add an
adversarial mops publish --dry-run scope case (WITH 4/4 vs baseline 2/4)
and a publish trigger query.

Closes #342
@marc0olo
marc0olo requested review from a team and JoshDFN as code owners August 11, 2026 19:48
@github-actions

Copy link
Copy Markdown

Skill Validation Report

Validating skill: /home/runner/work/icskills/icskills/skills/mops-cli

Structure

  • Pass: SKILL.md found

Frontmatter

  • Pass: name: "mops-cli" (valid)
  • Pass: description: (341 chars)
  • Pass: license: "Apache-2.0"
  • Pass: compatibility: (14 chars)
  • Pass: metadata: (2 entries)

Markdown

  • Pass: no unclosed code fences found

Tokens

File Tokens
SKILL.md body 3,571
Total 3,571

Content Analysis

Metric Value
Word count 1,961
Code block ratio 0.33
Imperative ratio 0.09
Information density 0.21
Instruction specificity 0.62
Sections 25
List items 9
Code blocks 17

Contamination Analysis

Metric Value
Contamination level low
Contamination score 0.01
Primary language category shell
Scope breadth 2
  • Warning: Language mismatch: config (1 category differ from primary)

Result: passed

Project Checks


✓ Project checks passed for 1 skills (0 warnings)

@raymondk
raymondk merged commit c3b9c8a into main Aug 12, 2026
6 checks passed
@raymondk
raymondk deleted the chore/sync-upstream-mops-cli-v2.20.0 branch August 12, 2026 07:29
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.

upstream sync available — caffeinelabs/mops cli-v2.19.0 → cli-v2.20.0

2 participants