Skip to content

chore: sync mops-cli skill from upstream cli-v2.15.2#236

Merged
marc0olo merged 2 commits into
mainfrom
chore/sync-upstream-mops-cli-v2.15.2
Jul 1, 2026
Merged

chore: sync mops-cli skill from upstream cli-v2.15.2#236
marc0olo merged 2 commits into
mainfrom
chore/sync-upstream-mops-cli-v2.15.2

Conversation

@marc0olo

@marc0olo marc0olo commented Jul 1, 2026

Copy link
Copy Markdown
Member

Summary

Syncs the mops-cli skill from caffeinelabs/mops cli-v2.14.0cli-v2.15.2 (commit 564a380). Closes #234.

Per .claude/upstream.md, mops-cli has no icskills-owned sections — the body is 1:1 with upstream and only the frontmatter differs. Applied the full upstream delta and refreshed the frontmatter/tracking.

Upstream body changes applied

  • New mops deployed command — post-deploy hook that promotes the built .most to the check-stable baseline (mops deployed init for bootstrap, mops deployed after each deploy).
  • New mops generate candid command — (re)generates the curated .did from Motoko source.
  • check-stable bootstrap rewritten — replaces the hand-written trivial .most snippet with mops deployed init; the [check-stable].path example is now deployed/backend.most, and the description explains it runs ICP's upgrade-time compatibility check locally.
  • --no-check-limit flag documented for mops check / mops check-stable / mops lint, plus the new pending-migration reporting behavior.
  • mops check --fix now notes read-only files (e.g. frozen migrations) are skipped with a warning.

Other

  • Bumped compatibility to mops >= 2.15.2 (the new commands require it).
  • Updated .claude/upstream.md — tag, full commit SHA, and last-synced date.
  • Fixed a pre-existing local drift: the mops update --major / --patch ordering now matches upstream.
  • Added eval cases covering the new commands and the changed check-stable bootstrap workflow (including an adversarial case guarding against the now-removed hand-written .most).

Validation

npm run validate — all 26 skills pass (warnings only, none new for mops-cli).

Eval results

Ran the new/changed cases with baseline. Every new command shows a clear with-skill vs baseline delta — without the skill, agents hand-write .most files, deny mops generate candid exists, and fall back to dfx generate.

Output evals (new cases, with vs without skill)
Case WITH skill WITHOUT skill
check-stable baseline bootstrap 3/4 1/4
Post-deploy .most promotion 4/4 3/4
Regenerating candid interface 4/4 0/4
Autofix trimmed migrations with --no-check-limit 3/3 0/3*

Notable baseline failures (without skill):

  • check-stable bootstrap: suggested touch .baseline.most instead of mops deployed init.
  • candid: claimed "mops doesn't have a command for generating .did files" and recommended dfx generate — the exact hallucination this skill prevents.

* The --no-check-limit baseline run hit the 120s harness timeout and returned empty, so 0/3 reflects no output rather than a wrong answer; the with-skill run passed 3/3.

The check-stable baseline bootstrap 3/4 miss is a soft "may note the default deployed/<name>.most path" behavior; the three hard behaviors passed.

Trigger evals
Should trigger:      14/14 correct  (includes the 2 new queries: candid regeneration, check-stable sync)
Should NOT trigger:   8/8  correct

🤖 Generated with Claude Code

Sync the mops-cli skill from caffeinelabs/mops cli-v2.14.0 → cli-v2.15.2
(commit 564a380). No icskills-owned sections — body is 1:1 with upstream.

Upstream changes applied:
- New `mops deployed` command (post-deploy `.most` baseline promotion)
- New `mops generate candid` command
- `check-stable` bootstrap now uses `mops deployed init` instead of a
  hand-written trivial `.most`; `[check-stable].path` example → `deployed/backend.most`
- `--no-check-limit` flag for `mops check`/`check-stable`/`lint`
- `mops check --fix` skips read-only files with a warning
- Also fixes a pre-existing local drift: `mops update --major`/`--patch` ordering
  now matches upstream

Other:
- Bump `compatibility` to `mops >= 2.15.2` (new commands require it)
- Update `.claude/upstream.md` tag/commit/last-synced
- Add eval cases for the new commands and the changed check-stable workflow

Closes #234
@marc0olo marc0olo requested review from a team and JoshDFN as code owners July 1, 2026 09:11
@github-actions

github-actions Bot commented Jul 1, 2026

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 2,708
Total 2,708

Content Analysis

Metric Value
Word count 1,486
Code block ratio 0.31
Imperative ratio 0.09
Information density 0.20
Instruction specificity 0.60
Sections 23
List items 9
Code blocks 15

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)

The "Regenerating candid interface" eval asked for "just the command" but
expected an explanation — a prompt/behavior mismatch. Reword the prompt to
ask what the command does, matching the checked behaviors.
@marc0olo marc0olo merged commit 88ef94c into main Jul 1, 2026
6 checks passed
@marc0olo marc0olo deleted the chore/sync-upstream-mops-cli-v2.15.2 branch July 1, 2026 14:34
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.14.0 → cli-v2.15.2

2 participants