feat: add module-scoped skills and workflows

This commit is contained in:
2026-09-21 22:34:29 +03:00
parent c28a32f4d7
commit c0c9382143
30 changed files with 140 additions and 2 deletions
@@ -1,6 +1,7 @@
---
name: shd-active-projects
description: Use when the user asks for all active SHD projects, project deadlines, project statuses, or a project register sorted by the nearest completion date.
metadata: modules=projects-core
---
# Active SHD projects
@@ -1,6 +1,7 @@
---
name: shd-agents-operations
description: Use when the user asks to inspect SHD agents, controllers, diagnostics, tunnels, access rules, endpoints, monitoring or agent runtime actions.
metadata: modules=agents,controller-integrations
---
# SHD agents operations
@@ -1,6 +1,7 @@
---
name: shd-airbase-audit
description: Use when the user asks to inspect AirBase tables, validate project data, find duplicate or broken links, or audit AirBase quality without changing records.
metadata: modules=airbase
---
# AirBase audit
@@ -1,6 +1,7 @@
---
name: shd-analytics
description: Use when the user asks for SHD project or company analytics, trends, comparisons, metrics, charts, reports, or time summaries.
metadata: modules=*
---
# SHD analytics and reports
@@ -0,0 +1,15 @@
---
name: shd-auth-profile
description: Use when the user asks to inspect or update the authenticated SHD profile or unlink the authenticated OIDC profile.
metadata: modules=auth-profile
---
# SHD authenticated profile
- Read `shd://me` or call `shd_get_current_user` before changing profile data.
- Update only safe fields explicitly requested by the user. Email, password,
sessions, recovery data, access flags and tokens are outside this workflow.
- Unlink OIDC only on an explicit request and only after the server confirms
that another sign-in method remains available. Preserve concurrency values,
idempotency and the server readback.
- Never expose OIDC subjects, credentials, tokens or recovery information.
@@ -1,6 +1,7 @@
---
name: shd-discussions
description: Use when the user asks to find, read, search, create or edit SHD discussion channels, topics, messages or attachments.
metadata: modules=discussions
---
# SHD discussions
@@ -1,6 +1,7 @@
---
name: shd-documents
description: Use when the user asks to inspect, generate, send, publish, revise or audit SHD documents, templates, comments or public links.
metadata: modules=documents
---
# SHD documents
@@ -1,6 +1,7 @@
---
name: shd-entity-resolution
description: Use when the user asks to find a CRM entity, resolve duplicate names, compare counterparties, or determine whether records refer to the same business object.
metadata: modules=*
---
# SHD entity resolution
@@ -1,6 +1,7 @@
---
name: shd-estimate-management
description: Use when the user asks to inspect, compare, validate, create or update SHD estimates, proposals, terms or document contracts.
metadata: modules=proposal,documents,pdf-scheme-editor
---
# SHD estimates and proposal documents
@@ -1,6 +1,7 @@
---
name: shd-event-positions
description: Use when the user asks about SHD events, booking availability, scheduling slots, event types or booking positions.
metadata: modules=scheduling
---
# SHD events and scheduling
@@ -1,6 +1,7 @@
---
name: shd-finance-crm
description: Use when the user asks for finance or CRM information, document/payment checks, customer records, deals, relationships, or a project business overview in SHD.
metadata: modules=finance,crm
---
# SHD Finance and CRM
@@ -1,6 +1,7 @@
---
name: shd-financial-account-audit
description: Use when the user asks to audit SHD finance accounts, balances, payments, documents, allocations, settlements or finance history.
metadata: modules=finance
---
# SHD financial audit
@@ -1,6 +1,7 @@
---
name: shd-gitea
description: Use when the user asks to inspect or manage SHD-linked Gitea issues, labels, comments or issue attachments.
metadata: modules=gitea
---
# SHD Gitea
@@ -1,6 +1,7 @@
---
name: shd-inventory
description: Use when the user asks to inspect or change SHD inventory items, assets, stock, procurement, reservations, receipts or stocktakes.
metadata: modules=inventory
---
# SHD inventory
@@ -1,6 +1,7 @@
---
name: shd-notifications
description: Use when the user asks to inspect SHD notifications, notification modules, read state or preferences, or mark notifications read.
metadata: modules=notifications
---
# SHD notifications
@@ -1,6 +1,7 @@
---
name: shd-organizations-acl
description: Use when the user asks to inspect or change SHD organizations, members, invitations, roles, access audits or two-factor policies.
metadata: modules=organizations
---
# SHD organizations and ACL
@@ -1,6 +1,7 @@
---
name: shd-project-files
description: Use when the user asks to inspect project files, obtain a file link, share or zip a file, rename or move a path, or delete project files.
metadata: modules=files
---
# SHD project files
@@ -1,6 +1,7 @@
---
name: shd-project-status
description: Use when the user asks for a status report, operational summary, risks, blockers, next actions, or a cross-module overview of one SHD project.
metadata: modules=projects-core
---
# SHD project status
@@ -1,6 +1,7 @@
---
name: shd-realtime-activity
description: Use when the user asks to inspect SHD realtime events, start or terminate a realtime session, or review operational activity and audit history.
metadata: modules=realtime
---
# SHD realtime and activity
@@ -1,6 +1,7 @@
---
name: shd-routing
description: Use for any request that asks SHD for data, a project operation, a module workflow, or a change to SHD records. Route the request to the narrowest existing SHD MCP tool and preserve server-side permissions.
metadata: modules=*
---
# SHD routing and safety
@@ -22,6 +23,14 @@ readback. Do not invent fields, statuses, identifiers, routes or capabilities.
- Documents, templates, revisions, PDFs or publication links: use Documents tools and the `shd-documents` workflow.
- Organizations, members, invitations, roles or two-factor policy: use Organizations tools and the `shd-organizations-acl` workflow.
- Notifications, preferences or read state: use Notifications tools and the `shd-notifications` workflow.
- Services, versions, approvals or site publications: use Services tools and
the `shd-services` workflow.
- Short links, public aliases, rotation or revocation: use Short Links tools
and the `shd-short-links` workflow.
- Global System Base tables or records: use System Base tools and the
`shd-system-base` workflow. Do not substitute AirBase tools.
- Authenticated profile or OIDC link changes: use Profile tools and the
`shd-auth-profile` workflow.
- Inventory, stock, assets, procurement or stocktakes: use Inventory tools and the `shd-inventory` workflow.
- Agents, controllers, diagnostics, tunnels or network access: use Agents tools and the `shd-agents-operations` workflow.
- Controller devices, current states, presence/history or sensor statistics: use the controller-integrations source tools; in a UI-capable host call the matching controller render tool after the data tool and before the final response (`shd_render_controller_devices_widget`, `shd_render_controller_live_state_widget`, `shd_render_controller_history_widget` or `shd_render_controller_statistics_widget`). For one statistics series, render the final result once; for several explicitly requested series, collect them into one `data.series` collection and render one summary widget, not one widget per retry, metric field or inventory match.
@@ -1,6 +1,7 @@
---
name: shd-safe-bulk-change
description: Use before any SHD bulk create, update, import, archive, delete, or other multi-record mutation, and whenever the user asks to plan a mass change.
metadata: modules=*
---
# Safe SHD bulk changes
@@ -0,0 +1,34 @@
---
name: shd-services
description: Use when the user asks to inspect or change the SHD service catalog, service versions, approvals, lifecycle or site publications.
metadata: modules=services
---
# SHD services catalog
## Inspect and resolve
- Resolve the organization service and exact version from server results; do
not use a guessed name or slug as a mutation target.
- Read the service, versions, usage, categories and existing publication state
relevant to the request before changing anything.
- Keep draft, pending approval, published, failed, revoked, archived and
restored states separate. Do not infer a publication result from a version
status alone.
## Draft and lifecycle changes
- Creating or editing a service, category or draft version requires explicit
intent. Preserve the returned revision and server validation.
- Publish, approve, archive, restore or discard only the exact requested
lifecycle transition. Do not publish a draft as a side effect of editing it.
- Before archiving, inspect usage and publications and preserve any required
confirmation for public publications.
## Site publication
- Resolve the exact site, version and publication before publishing, revoking or
retrying. Use a fresh idempotency key for publication and retry operations.
- Report service, version and publication IDs, server validation, resulting
state and persisted readback. Never expose private publication credentials or
invent a public URL.
@@ -0,0 +1,23 @@
---
name: shd-short-links
description: Use when the user asks to inspect or change SHD short links, public aliases, link targets, rotation, revocation or aggregate link statistics.
metadata: modules=short-links
---
# SHD short links
## Inspect and resolve
- Resolve the exact link ID, owner, project, alias and current status from
`shd_list_short_links` or `shd_get_short_link` before changing it.
- Keep active, revoked, expired, disabled and retired links distinct. Treat
target URLs, access flags and public aliases as sensitive data.
## Mutations
- Create or update only the explicitly requested link fields. Preserve
`expected_updated_at` and the server's idempotency/readback contract.
- Revoke or rotate only on an explicit request with `confirm=true`, current
concurrency data and a fresh idempotency key.
- Never expose bearer tokens, private redirect data or inferred access rights.
Report the link ID, alias, status, affected fields and server result.
@@ -1,6 +1,7 @@
---
name: shd-status-page
description: Use when the user asks to inspect SHD status-page monitors, history, groups or incidents, or to change public status monitoring.
metadata: modules=status-page
---
# SHD status page
@@ -0,0 +1,24 @@
---
name: shd-system-base
description: Use when the user explicitly asks to inspect or change an allowlisted global SHD System Base table or record.
metadata: modules=system-base
---
# SHD System Base
## Scope
- System Base is global and is not project-scoped or interchangeable with
AirBase. Resolve the allowlisted table, record ID and field ID from server
results before any write.
- Read the table schema and current record or cell first. Preserve the returned
`record_version`, expected value and mutation readback.
## Mutations
- Update one explicitly requested cell with a fresh idempotency key and the
current expected value when available.
- Delete only on an explicit request with `confirm=true`, current
`expected_version` and a fresh idempotency key.
- Do not invent table names, field IDs or values, broaden filters, use System
Base for AirBase data, or reveal global records outside the server result.
@@ -1,6 +1,7 @@
---
name: shd-task-workflow
description: Use when the user asks to find, inspect, create, update, reschedule, archive, or delete SHD tasks or task-project data.
metadata: modules=tasks
---
# SHD task workflow
@@ -1,6 +1,7 @@
---
name: shd-terms-contracts
description: Use when the user asks to inspect, compare, discuss, revise or restore SHD Terms documents and contract points.
metadata: modules=documents,proposal
---
# SHD Terms and contracts
@@ -1,6 +1,7 @@
---
name: shd-wiki-management
description: Use when the user asks to search, read, compare, create or update SHD Wiki, notes, pages, collections, databases, revisions or attachments.
metadata: modules=notes
---
# SHD Wiki and notes