Maintainx Core Workflow ASAFE
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
Overview
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
4f83675ca38aOBSERVED · 2026-10-09Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: maintainx-core-workflow-a description: 'Execute MaintainX primary workflow: Work Order lifecycle management. Use when creating, updating, and managing work orders through their full lifecycle, from creation to completion with all status transitions. Trigger with phrases like "maintainx work order", "create work order", "work order lifecycle", "maintenance task", "manage work orders". ' allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep version: 1.11.0 license: MIT author: Jeremy Longshore <[email protected]> tags: - saas - maintainx - workflow compatibility: Designed for Claude Code --- # MaintainX Core Workflow A: Work Order Lifecycle ## Overview Master the complete work order lifecycle in MaintainX -- from creation through completion. Work orders are the core unit of maintenance operations. ## Prerequisites - Completed `maintainx-install-auth` setup - `MAINTAINX_API_KEY` environment variable configured - MaintainX account with work order permissions ## Status Transition Flow ``` OPEN ──→ IN_PROGRESS ──→ COMPLETED ──→ CLOSED │ │ ↑ │ ↓ │ │ ON_HOLD ───────────┘ │ └──→ CLOSED (cancelled) ``` ## Instructions ### Step 1: Create a Work Order ```typescript import { MaintainXClient } from './maintainx/client'; const client = new MaintainXClient(); // Create a corrective work order const { data: wo } = await client.createWorkOrder({ title: 'Pump Station #3 - Seal Leak Repair', description: 'Detected water leak at the mechanical seal. Needs immediate attention.', priority: 'HIGH', status: 'OPEN', assignees: [{ type: 'USER', id: 4521 }], assetId: 8901, locationId: 2345, dueDate: '2026-03-21T17:00:00Z', categories: ['CORRECTIVE'], }); console.log(`Work order #${wo.id} created`); ``` ### Step 2: Update Status Through Lifecycle ```typescript // Technician starts work await client.updateWorkOrder(wo.id, { status: 'IN_PROGRESS', }); // Put on hold (waiting for parts) await client.updateWorkOrder(wo.id, { status: 'ON_HOLD', onHoldReason: 'Waiting for replacement seal kit from supplier', }); // Resume and complete await client.updateWorkOrder(wo.id, { status: 'IN_PROGRESS', }); await client.updateWorkOrder(wo.id, { status: 'COMPLETED', completionNotes: 'Replaced mechanical seal. Tested for 30 min with no leaks.', }); ``` ### Step 3: Query Work Orders ```typescript // Fetch open work orders sorted by priority const { data: openOrders } = await client.getWorkOrders({ status: 'OPEN', limit: 25, }); for (const order of openOrders.workOrders) { console.log(`#${order.id} [${order.priority}] ${order.title}`); } // Paginate through all IN_PROGRESS orders async function getAllInProgress() { const allOrders = []; let cursor: string | undefined; do { const { data } = await client.getWorkOrders({ status: 'IN_PROGRESS', limit: 100, cursor, }); allOrders.push(...data.workOrders); cursor = data.cursor; } while (cursor); return allOrders; } ``` ### Step 4: Add Comments and Attachments ```typescript // Add a technician note await client.request('POST', `/workorders/${wo.id}/comments`, { body: 'Arrived on site. Isolating pump before disassembly.', }); // Add a completion photo (URL-based) await client.request('POST', `/workorders/${wo.id}/files`, { url: 'https://storage.example.com/photos/seal-repair-complete.jpg', name: 'seal-repair-complete.jpg', }); ``` ### Step 5: Assign to Teams ```typescript // Assign to a team instead of individual const { data: teams } = await client.request('GET', '/teams'); const mechTeam = teams.teams.find((t: any) => t.name === 'Mechanical'); await client.updateWorkOrder(wo.id, { assignees: [{ type: 'TEAM', id: mechTeam.id }], }); ``` ## Output - Work orders created with full metadata (title, description, priority, assignees, asset, location) - Status transitions executed through the complete lifecycle - Paginated query results for filtering work orders - Comments and files attached to work orders ## Error Handling | Error | Cause | Solution | |-------|-------|----------| | 400 Bad Request | Missing `title` field | Include at least `title` in POST body | | 404 Not Found | Invalid asset/location/user ID | Verify referenced IDs exist via GET endpoints | | 403 Forbidden | Insufficient permissions | Check user role has work order write access | | 422 Invalid transition | Invalid status change (e.g., CLOSED to OPEN) | Follow the status transition flow above | ## Resources - MaintainX API Reference - [Work Orders Help](https://help.getmaintainx.com/about-work-orders) - [Complete a Work Order](https://help.getmaintainx.com/complete-a-work-order) ## Next Steps For asset and location management, see `maintainx-core-workflow-b`. ## Examples **Bulk-create preventive maintenance work orders**: ```typescript const pmSchedule = [ { title: 'Weekly HVAC Filter Check', priority: 'LOW', categories: ['PREVENTIVE'] }, { title: 'Monthly Fire Extinguisher Inspection', priority: 'MEDIUM', categories: ['PREVENTIVE'] }, { title: 'Quarterly Elevator Safety Audit', priority: 'HIGH', categories: ['PREVENTIVE'] }, ]; for (const pm of pmSchedule) { const { data } = await client.createWorkOrder(pm); console.log(`PM created: #${data.id} - ${data.title}`); } ``` **Filter work orders by date range**: ```bash curl -s "https://api.getmaintainx.com/v1/workorders?createdAtGte=2026-03-01T00:00:00Z&createdAtLte=2026-03-31T23:59:59Z&limit=50" \ -H "Authorization: Bearer $MAINTAINX_API_KEY" | jq '.workOrders | length' ```
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
4f83675ca38afull audit observations/trust-audit/skill/jeremylongshore__maintainx-core-workflow-a.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | 4f83675ca38a | SAFE | B | 89 | first audit |
Questions
What does the Maintainx Core Workflow A skill do?
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
Is Maintainx Core Workflow A safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Maintainx Core Workflow A access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Maintainx Core Workflow A work with?
Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (4f83675ca38a), read on 2026-10-09. The repository is watched, and a new audit runs when it changes — this is the first audit.