Skip to content
Agentmart
Submit a tool

crew-change

The change-request template, the ten questions a change board requires, and how each field maps onto ServiceDesk Plus, Jira and a local file.

Skill by mbadali25

IndexedGPL-2.0★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mbadali25-crew-change

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The change-request template, the ten questions a change board requires, and how each field maps onto ServiceDesk Plus, Jira and a local file. Use when filing, checking or closing a change request, when a production promotion asks for an approved change, or when the user says change request, change management, CAB, change window, rollback plan or post-change validation.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/crew-change

What's inside

Skill name
crew-change
Description
The change-request template, the ten questions a change board requires, and how each field maps onto ServiceDesk Plus, Jira and a local file. Use when filing, checking or closing a change request, when a production promotion asks for an approved change, or when the user says change request, change management, CAB, change window, rollback plan or post-change validation.
License
GPL-2.0
Instructions
187 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Change requests

One process, three backends. The wording lives here and nowhere else:
`commands/change.md` reads this file, and the gate that enforces it is
`hooks/scripts/crew_change.py`. Three copies of a question list is two copies
that drift, and they drift in the direction of being shorter.

---

## 1. The template

The ServiceDesk Plus **Change Management Request** template is the shape all
three backends carry. Jira and files mode reproduce it exactly; the only thing
that differs between backends is where the text lands.

| Field | Where it comes from |
|---|---|
| Priority | asked per request |
| Impact | asked per request |
| Urgency | asked per request |
| Impact Details | asked per request — the blast radius in prose, not a repeat of Impact |
| Requester name | asked per request |
| Implementor of Change | asked per request — and it is also answer 2 |
| Scheduled Start Time | asked per request — and it is also part of answer 3 |
| Scheduled End Time | asked per request — and it is also part of answer 3 |
| Subject | asked per request |
| Category | asked per request |
| Description | the ten answers in §2, in order, verbatim question then answer |

`Requester name` and `Implementor of Change` are asked every time: no config
key holds them. Everything else is per-request too: a default Priority is a
Priority nobody chose.

**Scheduled Start Time and Scheduled End Time are the change window**, and they
are not decoration. When `change.requireForProduction` is true they are what
`/crew:promote production` checks the clock against.

---

## 2. The ten questions, verbatim

The template prints this above them, and it is the whole reason the gate
exists:

> ALL THE BELOW QUESTIONS MUST BE ANSWERED. ANY PERTINENT MISSING INFORMATION
> WILL RESULT IN THE REQUEST BEING DENIED.

1. What specifically is the change?
2. Who will be implementing the change (added to Requestor Details also)?
3. What is the scheduled time for the change - list downtime duration and
   day/time (added to Requestor Details also)?
4. Who will this change affect? (how many are affected, what areas, or how
   many users)
5. What is the worst-case scenario of impact to end users?
6. What systems/applications are affected? (IP address, URL and/or hostname)
7. List the system/applications/services impact, and whether each impacted
   system/application/service is hosted locally or in the cloud
8. What is your rollback plan?
9. Has there been a notification sent to those affected?
10. Attach results of post-change validation

**Questions 2 and 3 are answered twice on purpose** — once here, and once in
Requestor Details, because that is what the template asks for. Say the same
thing in both places rather than abbreviating one of them.

---

## 3. The gate

`hooks/scripts/crew_change.py` owns it. Run it; do not judge the answers by
reading them.

```
python3 ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/crew_change.py --answers <file.json> --mode new
python3 ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/crew_change.py --answers <file.json> --mode close
```

- `--mode new` gates **questions 1–9**. Exit 0 means every one has a real
  answer. Exit 2 means it refused, and stderr names each failing question and
  says whether the box was empty or held a placeholder.
- `--mode close` gates **question 10 only**. The other nine were gated at
  filing and the backend holds them.
- **Any non-zero exit is a refusal, including one caused by unreadable input.**
  The two states that must never be confused are "complete" and "could not
  tell", so everything that is not a verified pass exits non-zero.

The placeholder list is `crew_change.PLACEHOLDERS` and it is **not repeated
here** — a second copy is a copy that drifts. Two of its judgement calls are
worth knowing while you collect answers: a bare `none` is refused (say "no
users are affected: the service has no consumers yet" instead, which is what a
change board wants anyway), and a bare `no` is accepted, because it is a
complete answer to question 9.

Question 10 is answered at `close`, never at `new`: at filing time the change
has not happened, so requiring it would make the gate unsatisfiable and the
natural repair would be to type `N/A` — which teaches an operator that
placeholders are how you get past this gate.

---

## 4. Field mapping per backend

The **content is identical in all three**. Only the transport differs.

### ServiceDesk Plus (`tracker: "sdp"`)

Reached through the `sdp_*` MCP tools, the same ones `/crew:sdp-sync` and the
`infra-work-ticketing` skill use. Filed with `sdp_create module=change`.

| Template field | SDP |
|---|---|
| — | `template` = `Change Management Request` (fixed: `crew_state.CHANGE_SDP_TEMPLATE`) |
| Subject | `subject` |
| Priority / Impact / Urgency / Category | resolve each against `sdp_list_metadata` **first** |
| Impact Details | `impact_details` |
| Requester name | `requester` |
| Implementor of Change | `change_owner`, and repeated in the description as answer 2 |
| Scheduled Start / End Time | `scheduled_start_time` / `scheduled_end_time` |
| Description | the ten Q&A pairs, question then answer, in order |

From mbadali25/useful-claude-add-ons, GPL-2.0.

More from mbadali25/useful-claude-add-ons

Signals

Stars
2
Forks
0
Open issues
17
Last commit (this folder)
Sep 25, 2026 (1 month ago)
Last release
Jul 28, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
GPL-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mbadali25

Cite this page

crew-change skill. Agent Mart. https://agentmart.dev/skills/mbadali25-crew-change (last updated 2026-10-24)