Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/mendix/web-widgets/openspec-bulk-archive-changenpx skills add mendix/web-widgets --skill openspec-bulk-archive-changegit clone --depth 1 https://github.com/mendix/web-widgetsWrote 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.
[](https://agentmods.dev/skills/mendix/web-widgets/openspec-bulk-archive-change)<a href="https://agentmods.dev/skills/mendix/web-widgets/openspec-bulk-archive-change"><img src="https://agentmods.dev/badge/skills/mendix/web-widgets/openspec-bulk-archive-change.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00023 | $0.01847 |
| Opus 5 | $0.00012 | $0.00924 |
| Sonnet 5 | $0.00005 | $0.00369 |
| Haiku 4.5 | $0.00002 | $0.00185 |
Grade A, and why
openspec-bulk-archive-change 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 2d 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.
This is a copy
100% identical to openspec-bulk-archive-change — 204 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 253 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Archive multiple completed changes in a single operation.
This skill allows you to batch-archive changes, handling spec conflicts intelligently by checking the codebase to determine what's actually implemented.
Input: None required (prompts for selection)
Steps
-
Get active changes
Run
openspec list --jsonto get all active changes.If no active changes exist, inform user and stop.
-
Prompt for change selection
Use AskUserQuestion tool with multi-select to let user choose changes:
- Show each change with its schema
- Include an option for "All changes"
- Allow any number of selections (1+ works, 2+ is the typical use case)
IMPORTANT: Do NOT auto-select. Always let the user choose.
-
Batch validation - gather status for all selected changes
For each selected change, collect:
a. Artifact status - Run
openspec status --change "<name>" --json- Parse
schemaNameandartifactslist - Note which artifacts are
donevs other states
b. Task completion - Read
openspec/changes/<name>/tasks.md- Count
- [ ](incomplete) vs- [x](complete) - If no tasks file exists, note as "No tasks"
c. Delta specs - Check
openspec/changes/<name>/specs/directory- List which capability specs exist
- For each, extract requirement names (lines matching
### Requirement: <name>)
- Parse
-
Detect spec conflicts
Build a map of
capability -> [changes that touch it]:auth -> [change-a, change-b] <- CONFLICT (2+ changes) api -> [change-c] <- OK (only 1 change)A conflict exists when 2+ selected changes have delta specs for the same capability.
-
Resolve conflicts agentically
For each conflict, investigate the codebase:
a. Read the delta specs from each conflicting change to understand what each claims to add/modify
b. Search the codebase for implementation evidence:
- Look for code implementing requirements from each delta spec
- Check for related files, functions, or tests
c. Determine resolution:
- If only one change is actually implemented -> sync that one's specs
- If both implemented -> apply in chronological order (older first, newer overwrites)
- If neither implemented -> skip spec sync, warn user
d. Record resolution for each conflict:
- Which change's specs to apply
- In what order (if both)
- Rationale (what was found in codebase)
-
Show consolidated status table
Display a table summarizing all changes:
| Change | Artifacts | Tasks | Specs | Conflicts | Status | |---------------------|-----------|-------|---------|-----------|--------| | schema-management | Done | 5/5 | 2 delta | None | Ready | | project-config | Done | 3/3 | 1 delta | None | Ready | | add-oauth | Done | 4/4 | 1 delta | auth (!) | Ready* | | add-verify-skill | 1 left | 2/5 | None | None | Warn |For conflicts, show the resolution:
* Conflict resolution: - auth spec: Will apply add-oauth then add-jwt (both implemented, chronological order)For incomplete changes, show warnings:
Warnings: - add-verify-skill: 1 incomplete artifact, 3 incomplete tasks -
Confirm batch operation
Use AskUserQuestion tool with a single confirmation:
- "Archive N changes?" with options based on status
- Options might include:
- "Archive all N changes"
- "Archive only N ready changes (skip incomplete)"
- "Cancel"
If there are incomplete changes, make clear they'll be archived with warnings.
-
Execute archive for each confirmed change
Process changes in the determined order (respecting conflict resolution):
a. Sync specs if delta specs exist:
- Use the openspec-sync-specs approach (agent-driven intelligent merge)
- For conflicts, apply in resolved order
- Track if sync was done
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.
- 2d ago First seen · 253 lines · 23 tokens per session scan A cbce892c14c2
openspec-bulk-archive-change is a skill published in the GitHub repository mendix/web-widgets (40 stars, last pushed 2d ago), licensed Apache-2.0. It adds 23 tokens to every session and 1,847 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to openspec-bulk-archive-change, differing in 204 lines, and is treated as a copy.
Other skills, from other repositories
sql-database-support
Guides classifying, gap-analyzing, and scaffolding support for a new SQL database in pREST (wire-compatible variants like TimescaleDB or new dialects). Use when adding database support, creating integration/ /, DIFFERENCES.md, adapters/ , per-DB docker-compose or GitHub workflows, or planning where config/app wiring…
cli-commands
MUST use when using the CLI, including debugging job failures and inspecting run history via wmill job.
write-script-python3
MUST use when writing Python scripts.
native-trigger
Guidance for adding native trigger services to Windmill. Use when implementing or modifying native trigger integrations across the backend and frontend.
write-workflow-as-code
MUST use when writing or modifying Windmill Workflow-as-Code scripts using workflow, task, step, sleep, approvals, taskScript, taskFlow, taskscript, or taskflow.
migrate-design-prototype
Reproduce a Claude Design prototype or design handoff (HTML/CSS, .dc.html export, tokens, screenshots) inside a Mendix app: build the palette with mxcli theme create --from, then apply classes in pages with MDL. Use when given a design artefact and asked to make the app look like it.