From sundial-org-awesome-openclaw-skills-4
Provides read-only CLI access to ServiceNow Table, Attachment, Aggregate, and Service Catalog APIs with schema inspection and history retrieval. Use to query tables, fetch records by sys_id, download attachments, or get stats.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Use this skill to read data from ServiceNow via the Table API. Do not create or update or delete records.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Use this skill to read data from ServiceNow via the Table API. Do not create or update or delete records.
Set these environment variables in the .env file in this folder.
If your domain already includes https:// then use it as is. Otherwise requests should be made to:
https://$SERVICENOW_DOMAIN
Use only the GET endpoints from these files.
Never use POST or PUT or PATCH or DELETE.
See openapi.yaml for the full list of parameters.
Use the bundled CLI for all reads. It pulls auth from .env by default. You can override with flags.
Use any of these as --sysparm_* flags.
List recent incidents.
node cli.mjs list incident --sysparm_limit 5 --sysparm_fields number,short_description,priority,sys_id
Query with a filter.
node cli.mjs list cmdb_ci --sysparm_query "operational_status=1^install_status=1" --sysparm_limit 10
Fetch a single record.
node cli.mjs get incident <sys_id> --sysparm_fields number,short_description,opened_at
Override auth on the fly.
node cli.mjs list incident --domain myinstance.service-now.com --username admin --password "***" --sysparm_limit 3
Attachment metadata and file download.
node cli.mjs attach list --sysparm_query "table_name=incident" --sysparm_limit 5
node cli.mjs attach file <sys_id> --out /tmp/attachment.bin
Aggregate stats.
node cli.mjs stats incident --sysparm_query "active=true^priority=1" --sysparm_count true
Service Catalog read only GETs.
node cli.mjs sc catalogs --sysparm_text "laptop" --sysparm_limit 5
node cli.mjs sc items --sysparm_text "mac" --sysparm_limit 5
node cli.mjs sc item <sys_id>
node cli.mjs sc item-variables <sys_id>
Use this if you are unsure of a field name.
node cli.mjs schema incident
Use this to read the full conversation instead of just the current state.
node cli.mjs history incident <sys_id>
Create JSON batch files under specialists/ to run multiple reads at once.
Each entry supports sysparm_* fields plus these items.
Run a batch preset.
node cli.mjs batch specialists/incidents.json --pretty
The Table API returns JSON by default. Results appear under result.
--sysparm_text terms or increase --sysparm_limit.sysparm_display_value is enabled by default for table reads to return human-friendly values (e.g., user names instead of sys_ids). If you need raw system ids, pass --sysparm_display_value false.--sysparm_limit small for agent-initiated queries to avoid large payloads and timeouts. Prefer stats for counts or aggregates instead of downloading many rows.attach list/attach get; use attach file <sys_id> --out <path> to download binary content for local analysis.schema) avoids guessing field names and is the recommended first step before reading unknown tables.history) fetches journal entries (comments/work_notes) from sys_journal_field and is useful to read the full conversation thread for a ticket.--pretty to make JSON outputs readable for human review and to help the agent summarize long results.I recommend these specialist JSON presets under specialists/ to speed up common read workflows. They are safe (read-only) and demonstrate how to combine related reads.
specialists/inspect_incident_schema.json — schema inspection for incident:[
{
"name": "schema-incident",
"table": "sys_dictionary",
"sysparm_query": "name=incident^elementISNOTEMPTY",
"sysparm_fields": "element,column_label,internal_type,reference",
"sysparm_limit": 500
}
]
specialists/incident_history_template.json — history template (replace <SYS_ID> with the target sys_id before running):[
{
"name": "incident-history",
"table": "sys_journal_field",
"sysparm_query": "name=incident^element_id=<SYS_ID>",
"sysparm_fields": "value,element,sys_created_on,sys_created_by",
"sysparm_order_by": "sys_created_on",
"sysparm_limit": 500
}
]
specialists/attachments_incident.json — recent attachments for incident table:[
{
"name": "recent-incident-attachments",
"table": "attachment",
"sysparm_query": "table_name=incident",
"sysparm_fields": "sys_id,file_name,content_type,table_sys_id,sys_created_on",
"sysparm_limit": 20
}
]
How to use these:
node cli.mjs batch specialists/inspect_incident_schema.json --pretty<SYS_ID> then node cli.mjs batch specialists/incident_history_template.json --pretty (or run node cli.mjs history incident <SYS_ID> --pretty)node cli.mjs batch specialists/attachments_incident.json --pretty, then node cli.mjs attach file <sys_id> --out /tmp/file to download a file.These presets are intentionally read-only and conservative (limits set small). Feel free to ask for additional presets (P1 dashboards, recent changes, escalations).