skills/service-skills/SKILL.md
Operational service-knowledge system for a project's services. One skill that creates, discovers, activates, updates, and scopes per-service expert skill packages (SKILL.md + diagnostic scripts + references), kept in sync with the code via a GitNexus-aware drift engine. Use when onboarding to a service, routing a task to the right expert, scaffolding a missing skill, or syncing a skill after the implementation drifted. Triggers: /service-skills, /creating-service-skills, /using-service-skills, /updating-service-skills, /scope, or any task that touches a registered service territory.
npx skillsauth add jaggerxtrm/jaggers-agent-tools service-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The single entry point for a project's service-skills system. Each service gets a dedicated expert package — architecture, data flows, failure modes, runnable health checks, deploy/runbook, and diagnostic scripts — that agents load on demand instead of re-deriving the service every session. This router tells you which flow to run and points at the detailed reference for each.
Two skills share the
service-skillsname by design, at different layers:
- This machinery skill (
service-skills) — the create/use/update/scope tooling. Shipped once.- The per-repo umbrella (
<repo>-services) — one generated skill per repo that maps that repo's services and links their per-service skills. Repo-qualified name avoids collision.
| You want to… | Flow | Reference | Trigger |
|---|---|---|---|
| Stand up a new service skill (scaffold + deep dive) | create | references/creating.md | /creating-service-skills |
| Find & activate the right expert for a task | use | references/using.md | /using-service-skills (auto at session start) |
| Sync a skill after the code changed (drift) | update | references/updating.md | /updating-service-skills (auto on Write/Edit) |
| Scope a task to the right service(s) before touching files | scope | references/routing.md | /scope "task" |
Supporting references: system-guide.md (how the whole system fits
together), script_quality_standards.md (diagnostic-script
templates), and the canonical section contract references/service_skill_contract.json (SSOT for
SKILL.md headings, order, and the <!-- SEMANTIC_START/END --> protected region).
Before any investigation, feature, refactor, config-change, or exploration task that involves a service, ground it in the right expert context before touching files. Read the registry, detect intent, map to service(s), emit a scope plan, load the skills, then act.
Detect intent from the task description:
| Intent | Signal keywords |
|---|---|
| investigation | broken, error, failing, not working, crash, down, missing, slow, 502, 404, 429, timeout |
| feature | add, implement, create, new, build, support |
| refactor | refactor, restructure, clean, reorganize, rename, extract |
| config-change | update, change, modify, set, configure, tune |
| exploration | how, explain, understand, what is, why, walk me through |
Default when ambiguous → investigation (check first, act second). Map symptoms to services,
confirm ownership with the graph when a task names a symbol rather than a path, then run the full
scope flow in references/routing.md (intent workflows, XML scope block,
regression-test binding).
python3 "$CLAUDE_PROJECT_DIR/.claude/skills/service-skills/scripts/scope.py" # registry + routing footer
The registry maps a service to its territory globs — enough to find the skill, not to understand cross-service reach. Once an expert is active, navigate with the GitNexus graph:
| Question | Use |
|---|---|
| "What else breaks if I change this symbol?" | gitnexus impact <symbol> --direction upstream |
| "Who calls / is called by this?" | gitnexus context <symbol> |
| "Which service owns this execution flow?" | gitnexus query "<concept>" |
| "Trace the full flow end to end" | READ gitnexus://repo/<repo>/process/<name> |
Fallback: with no GitNexus index, route by registry globs + cross_territory hints in drift
output. The graph is an enhancement, never a hard dependency.
The automatic sync pipeline runs post-merge on master only (not on feature-branch merges) —
the single point where code is final. Drift is measured semantically since each service's
last_sync_ref (committed range last_sync_ref..HEAD), not by file mtime alone, and tiered
cosmetic | medium | high | unknown with explicit provenance. See
references/updating.md.
python3 "$CLAUDE_PROJECT_DIR/.claude/skills/service-skills/scripts/drift_detector.py" scan
All machinery scripts live together under scripts/ (no cross-skill imports):
| Script | Role |
|---|---|
| bootstrap.py | Path/registry resolvers (get_project_root, get_pack_path, get_registry_path), gitnexus helpers |
| scaffolder.py | Phase-1 skeleton from compose/Dockerfile/deps |
| deep_dive.py | Service-type classification + Phase-2 research agenda |
| drift_detector.py | GitNexus-aware drift scan / sync / check-hook |
| skill_migrator.py | Upgrade a pre-devops SKILL.md to the current section contract (idempotent, SEMANTIC-preserving) |
| cataloger.py | Session-start service catalog injection |
| skill_activator.py | PreToolUse territory → load-skill enforcement |
| scope.py | Registry read + routing footer for the scope flow |
Install machinery (hooks + settings + git-hooks) lives under install/; see
install/service-skills-readme.md.
umbrella_generator.py renders the per-repo umbrella (below).
Each repo gets one umbrella skill — name: <repo>-services — at
.xtrm/skills/user/packs/<pack>/service-skills/SKILL.md. It is generated from
service-registry.json (service table + cross-service health + navigation) so it
can never drift from the registered services. The human cross-service narrative lives
in a <!-- SEMANTIC_START --> / <!-- SEMANTIC_END --> block preserved verbatim across
regeneration — edit only there.
python3 scripts/umbrella_generator.py <repo-name> # regenerate (idempotent)
install-service-skills.py regenerates the umbrella on install/upgrade. Load the
umbrella first when a task spans services; it links each per-service skill.
cd ~/projects/my-project
python3 /path/to/xtrm-tools/skills/service-skills/install/install-service-skills.py
Idempotent — wires settings.json hooks (SessionStart catalog · PreToolUse activator ·
PostToolUse drift), activates git hooks, and migrates already-installed skills to the current
section contract. Safe to re-run after upgrades.
development
Bootstrap a complete security pipeline (Dependabot + OSV + Semgrep + gitleaks + pre-commit hooks + Codex review) on any GitHub repo. Designed for free user-private repos where GitHub Advanced Security is unavailable. Reusable across Python/TypeScript/Go/Rust stacks.
testing
Merges queued PRs from xt worktree sessions in the correct order (FIFO), maintaining linear history by rebasing remaining PRs after each merge. Use this skill whenever the user has multiple open PRs from xt worktrees, asks to "merge my PRs", "process the PR queue", "drain the queue", "merge worktree branches", or says "what PRs do I have open". Also activate after any xt-end completion when other PRs are already open, or when the user asks "can I merge yet" or "is CI green". Handles the full sequence: list → sort → CI check → merge oldest → rebase cascade → repeat until queue is empty.
testing
Autonomous session close flow for xt worktree sessions. Use this skill whenever the user says "done", "finished", "wrap up", "close session", "ship it", "I'm done", "ready to merge", or similar. Also activate when all beads issues in the session are closed, or when the user explicitly runs /xt-end. This skill is designed for headless/specialist use: it must make deterministic decisions, auto-remediate common anomalies, and avoid clarification questions unless execution is truly blocked.
development
Complete debugging workflow — error analysis, log interpretation, performance profiling, and GitNexus call-chain tracing. Use when investigating bugs, errors, crashes, or performance issues.