skills/scoping-service-skills/SKILL.md
Task intake and service routing for any task type. Reads service-registry.json directly, detects intent, maps to the right expert skill(s), and emits a structured XML scope plan before any files are touched. Invoke via /scope "task description" before starting any investigation, feature, refactor, config-change, or exploration task.
npx skillsauth add jaggerxtrm/jaggers-agent-tools scoping-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.
Ground every task in the right expert context before any files are touched.
User types /scope "task description" — or /scope with task context already
in the conversation.
Run this at the start, before deep task reasoning:
python3 "$CLAUDE_PROJECT_DIR/.claude/skills/scoping-service-skills/scripts/scope.py"
This outputs every registered service: ID, container, territory paths, skill path, and description. If the registry is missing, report:
"No service-registry.json found at this project. Run /creating-service-skills first."
Scan the task description for keywords:
| Intent | Signal keywords |
|---|---|
| investigation | broken, error, failing, problem, not working, issue, crash, down, missing, slow, 502, 404, 429, timeout |
| feature | add, implement, create, new, build, introduce, support |
| refactor | refactor, restructure, clean, reorganize, simplify, rename, extract |
| config-change | update, change, modify, set, configure, adjust, tune |
| exploration | how, explain, understand, what is, show me, why, walk me through |
Default when ambiguous → investigation (safer: check first, act second).
Using the registry output, reason about which service(s) the task involves. Match on:
traefik, grafana, loki …)502 / route not found → traefiklogs not appearing → loki / promtailalert not firing → alertmanager / prometheusdashboard broken → grafanaAPI key rejected → api-gatewaydisk full → node-exporter / loki (chunks)container memory → cadvisorroutes.yml → traefik, prometheus.yml → prometheus)infra-*)Emit this block before moving into implementation:
<scope>
<task>"user's original description"</task>
<intent>investigation</intent>
<confidence>high|medium|low</confidence>
<services>
<service id="traefik" confidence="high">
<reason>user mentioned 502 on dashboard route</reason>
<skill>.claude/skills/traefik/SKILL.md</skill>
<load>now</load>
</service>
</services>
<workflow>
<phase order="1" name="diagnose">
Consult traefik SKILL.md failure modes table.
Run health_probe.py and log_hunter.py before any ad-hoc docker commands.
</phase>
<phase order="2" name="fix">
Apply targeted fix based on diagnosis.
</phase>
<phase order="3" name="regression-test">
<decision>
Code behavior bug → write test in repo test suite (pytest/unit).
Operational/infra issue → extend health_probe.py OR add script to
.claude/skills/traefik/scripts/.
</decision>
Name the function after the failure mode it catches.
Commit the test alongside the fix — never separately.
</phase>
</workflow>
</scope>
Adapt the phases to the detected intent (see Intent Workflows below).
For each <service> with <load>now</load>, immediately read the skill file:
Read: .claude/skills/<service-id>/SKILL.md
Load all matched skills before proceeding with the task. Adopt the expert persona, constraints, and diagnostic approach from each loaded skill.
Follow the workflow phases in order. For investigation tasks, include the
regression-test phase — it keeps fixes durable.
investigation — Problem / Error / Brokendiagnose → fix → regression-test
health_probe.py, log_hunter.py) first.feature — New Capabilitydesign → skill-check → implement → test
refactor — Structural Changescope → skill-check → change → verify
find_referencing_symbols before renaming or restructuring.config-change — Setting / Parameterread-current → validate → modify → confirm
health_probe.py).exploration — Understanding / Analysisload-skill → answer
When intent = investigation and a fix has been applied, write a regression
test. Use this decision tree:
Is the bug in application code logic?
YES → write pytest/unit test in repo's test suite
NO (operational / infra / config issue) →
Does the skill's health_probe.py already check this condition?
YES → extend the existing check function
NO → add a new check function to health_probe.py
OR create a dedicated script in .claude/skills/<service>/scripts/
Naming convention — name after the failure mode, not the fix:
def check_route_not_returning_502(): # ✅ descriptive
def check_cert_not_expiring_soon(): # ✅ descriptive
def test_fix(): # ❌ meaningless
def test_issue_123(): # ❌ meaningless
Commit the test in the same commit as the fix.
If no registered service matches the task:
"No registered skill covers this area.""I can create one — use /creating-service-skills."/using-service-skills — Passive catalog at session start/creating-service-skills — Scaffold new expert skill packages/updating-service-skills — Sync skills after implementation driftdevelopment
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.
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.