open-mercato: Skill for Claude Code

.ai/skills/om-auto-upgrade-0.6.7-to-0.7.0/SKILL.md

om-auto-upgrade-0.6.7-to-0.7.0 is a skill for Claude Code, Codex from open-mercato/open-mercato. It costs 141 tokens per session (3,037 once invoked), scanned A, original, MIT.

An automated migration guide for changing downstream Open Mercato code from version 0.6.7 to 0.7.0. It applies mechanical edits, checks affected areas, and reports work that still needs manual decisions.

In plain words
What is it for?
Use it when upgrading an existing Open Mercato app to 0.7.0 and validating authentication, search, workflows, webhooks, Redis, and security-related code.
Why use it?
It shortens a version upgrade and clearly separates safe automatic changes from changes that require understanding the application's intent.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

This is open-mercato/open-mercato's own configuration. It tells Claude Code and Codex how to work on open-mercato itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything open-mercato configures →

About the project

Open Mercato is an open-source TypeScript foundation framework for building CRM, ERP, commerce, and other business applications with established architecture, specifications, permissions, events, and domain modules. It is for teams and developers who want AI coding assistants to build consistent business software on top of ready-made foundations. The catalogue add-ons teach agents the framework’s conventions and workflows for implementing, testing, reviewing, and debugging features.

open-mercato/open-mercato · 1,720 stars · on GitHub · openmercato.com

Reuse

Borrowing it

Nothing to install: this file belongs to open-mercato/open-mercato. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/open-mercato/open-mercato/main/.ai/skills/om-auto-upgrade-0.6.7-to-0.7.0/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/open-mercato/open-mercato

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for om-auto-upgrade-0.6.7-to-0.7.0

README.md
[![agentmods](https://agentmods.dev/badge/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0/github.svg)](https://agentmods.dev/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0)
Your own site
<a href="https://agentmods.dev/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0"><img src="https://agentmods.dev/badge/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for om-auto-upgrade-0.6.7-to-0.7.0

Your own site · 80×15
<a href="https://agentmods.dev/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0"><img src="https://agentmods.dev/badge/skills/open-mercato/open-mercato/om-auto-upgrade-0.6.7-to-0.7.0.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 141 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,037 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 55
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00141 $0.03037
Opus 5 $0.00071 $0.01519
Sonnet 5 $0.00028 $0.00607
Haiku 4.5 $0.00014 $0.00304

Measured 13d ago against content hash e48058704310, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

om-auto-upgrade-0.6.7-to-0.7.0 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.ai/skills/om-auto-upgrade-0.6.7-to-0.7.0/SKILL.md · 112 lines

How it starts

The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Auto upgrade 0.6.7 to 0.7.0

Apply the mechanical parts of the Open Mercato 0.6.7 → 0.7.0 upgrade to a downstream app. Treat the matching section of UPGRADE_NOTES.md as the source of truth and leave every intent-sensitive change as an explicit manual finding.

Scope

Operate on a standalone app or downstream repository that depends on @open-mercato/*. Never modify the framework monorepo, framework-owned packages/, dependency pins, lockfiles, generated output, vendored dependencies, or secrets. Run after the user has selected and installed 0.7.0.

Arguments

  • --path <dir>: downstream repository root; defaults to the current directory.
  • --dry-run: detect, classify, and report without editing files or running mutating commands.
  • --only <id[,id...]>: limit work to named checks.
  • --skip <id[,id...]>: omit named checks and record the omission in the report.

Reject unknown flags and combining --only with --skip.

Upgrade checks

ID Classification Detect Action
passkey-mfa-assertion Detect and report Callers that post { credentialId, challenge }, or a bare credential id, to POST /api/security/mfa/verify or POST /api/security/sudo/verify, and custom passkey enrollment paths Report the removed payload shape and require the object returned by startAuthentication() as payload.response; carry the operator actions for credentials enrolled through the still-open attestation shortcut (#5296) and never delete or reset MFA rows automatically
jwt-secret-required Detect and report ${JWT_SECRET:-…} defaults in compose files, JWT_SECRET or JWT_<AUDIENCE>_SECRET values that are absent, shorter than 32 characters, or a published placeholder, and JWT_LEGACY_GRACE_MINUTES set without JWT_LEGACY_CUTOVER_AT Report the required operator steps before the production rollout, including the legacy-token cutover decision; never generate, print, or write a secret value into a repository file
standalone-ds-i18n-gates Detect and report Standalone apps missing scripts/ds-check.mjs, scripts/i18n-check-hardcoded.mjs, the matching package.json scripts, the typecheck memory headroom, or yarn ds:check in .ai/agentic.config.json validation.commands Report the copy-and-register steps against the current template and the reasoned .ds-check-ignore baseline; keep yarn i18n:check-hardcoded advisory and never add a hard-failing gate to a user's config unprompted
module-fact-sheet-directories Automatic when exact; otherwise report Literal .ai/guides/modules/<id>.md or .ai/guides/reference-modules/<id>.md reads in harness scripts, skills, or docs Rewrite only an exact flat-sheet path to the <id>/index.md form; report globs, manifest-driven readers, and any consumer that enumerated the flat layout
user-confirmation-semantics Detect and report User creation, setup, or update code that writes isConfirmed: false Report each write whose users are still expected to authenticate; do not invent a replacement field
audit-log-context-shape Detect and report Command interceptors returning metadata.context, and consumers that assume keys are absent from ActionLog.context_json Explain the new metadata.logContext input and shallow-merge precedence; do not rewrite ownership-sensitive logging code
global-search-acl Detect and report Clients of /api/search/search/global authorized only by search.view, custom search.ts entities without aclFeatures, and custom-entity search consumers Report the required search.global grant and per-entity view features; include the post-upgrade role-ACL sync command as manual work
hybrid-search-acl Detect and report Callers of GET /api/search/search authorized only by search.view, and custom search.ts entities that declare no aclFeatures Report the per-entity view features those callers now need and the fail-closed behaviour for entity types without aclFeatures; point at OM_SEARCH_DEBUG=true for the dropped-type diagnosis and never widen a role's grants automatically
preset-search-module No code action Existing crm or empty apps whose module registry omits search Explain that only new scaffolds changed and show the optional module registration for apps that want Cmd+K search
data-sync-batch-traces Detect and report Adapter streamImport/streamExport implementations that return a synchronous iterable of promises, hand-rolled per-batch spans, and saved traces or dashboards that assumed sync work nested under the triggering request Report the enforced genuine AsyncIterable contract, the now-redundant adapter span, and the new data_sync.*.batch root traces reached through a span link; never rewrite an adapter's iteration protocol automatically
tanstack-table-v9 Automatic when exact; otherwise report Root imports of ColumnDef, useReactTable, row-model factories, renamed state/function types, and Jest transform allowlists Rewrite only an exact single-specifier type import of ColumnDef to LegacyColumnDef as ColumnDef from @tanstack/react-table/legacy; report combined imports, hooks, generics, renamed types, and Jest config for review
ioredis-resp2 Detect and report Direct ioredis construction that does not use shared connection helpers or REDIS_WIRE_PROTOCOL Report the client and require an explicit RESP2 decision; never inject connection options blindly
sales-line-default-order No code action Consumers of order-line or quote-line list endpoints that pass no explicit sort Explain the new line_number ASC, id ASC default, cache-TTL caveat, and ?sortField=id compatibility choice
workflow-unresolved-templates Detect and report Source-controlled UPDATE_ENTITY inputs or EMIT_EVENT payloads containing literal {{...}} templates Report candidates that may intentionally pass braces through and require review of stored workflow definitions; never escape or relocate templates automatically
credential-free-integrations No code action Integrations or bundles declaring an effective credentials schema with fields: [] Explain that they now resolve as configured and that inherited bundle credentials still win
removed-example-injection-flag Automatic when exact; otherwise report NEXT_PUBLIC_OM_EXAMPLE_INJECTION_WIDGETS_ENABLED in environment files, deployment config, source, or copied example injection registries Remove only an exact assignment line in a regular .env* file without displaying its value; report every other occurrence and every conditional registry for manual simplification
module-facts-v2 Detect and report Direct readers of .ai/guides/module-facts.json, explicit factsContractVersion: 1, pinned contribution IDs/modes, and extension-table workarounds Report migration to the v2 sidecar/default extractor contract and require consumers to repin intentionally; do not rewrite fact IDs or explicit extension tables
settings-section-group-id Automatic when exact; otherwise report Injected groupId values and buildSettingsSections order maps keyed by rendered-label slugs Replace only the exact groupId: 'module-configs' or double-quoted equivalent with settings.sections.moduleConfigs, preserving quote style; report every other slug and sectionOrder key
webhook-body-limits No code action Public webhook deployments and custom payment handler registrations Report the 1 MiB global ceiling, the InboxOps override, proxy-limit alignment, and provider verification required before opting payment handlers into maxBodyBytes
standalone-security-headers Detect and report Standalone next.config.* files missing the current CSP and attachment sandbox headers Point to the latest template and require a manual merge that preserves provider origins and the attachment sandbox; never replace a whole Next.js config
sidebar-preference-null Detect and report Callers of loadSidebarPreference from @open-mercato/core/modules/auth/services/sidebarPreferencesService Report the findSidebarPreference replacement and its null contract, and warn that feeding the fabricated default object back into applySidebarPreference erases the role layer; leave intentional default-object callers to (await findSidebarPreference(em, scope)) ?? normalizeSidebarSettings(null)

Read the full file on GitHub · 112 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 112 lines · 141 tokens per session scan A e48058704310

Subscribe to this mod's changes

om-auto-upgrade-0.6.7-to-0.7.0 is a skill published in the GitHub repository open-mercato/open-mercato (1,720 stars, last pushed yesterday), licensed MIT. It adds 141 tokens to every session and 3,037 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

drizzle-orm

Use when modeling data or querying with Drizzle ORM in TypeScript — pgTable schema in .ts, type-safe select/insert/relational queries, drizzle-kit migrations. NOT Prisma Client or schema.prisma (that is prisma-orm), NOT ORM-agnostic migration strategy (that is db-migrations), NOT Postgres engine tuning or EXPLAIN…

ericrisco/rsc-harness · 96 tokens

prisma-orm

Use when modeling data or writing type-safe queries with Prisma ORM in TypeScript — schema.prisma, prisma.config.ts, the generated Prisma Client, and Prisma Migrate, including the v6 to v7 upgrade. NOT schema-as-TS with a SQL builder (that is drizzle-orm), NOT ORM-agnostic zero-downtime migration (that is…

ericrisco/rsc-harness · 101 tokens

frontmcp-production-readiness

Pre-production audit, hardening, and go-live checklists for FrontMCP servers. Use before shipping to verify security hardening, performance, reliability, and observability, and for target-specific production checklists: Node server (Docker, graceful shutdown, Redis session scaling), Vercel and edge (cold-start…

agentfront/frontmcp · 176 tokens

frontmcp-setup

Use when starting, scaffolding, or organizing a FrontMCP project. Covers creating a new project (CLI scaffold or manual) for Node, Vercel, and other targets; standalone versus Nx-monorepo layout, naming conventions, generators, and dependency rules; composing multiple @App classes, ESM packages, and remote MCP servers…

agentfront/frontmcp · 176 tokens

azure-cosmos-ts

Data plane SDK for Azure Cosmos DB NoSQL API operations — CRUD on documents, queries, bulk operations.

rootcastleco/rei-skills · 0 tokens

azure-postgres-ts

Connect to Azure Database for PostgreSQL Flexible Server using the pg (node-postgres) package with support for password and Microsoft Entra ID (passwordless) authentication.

rootcastleco/rei-skills · 0 tokens