Create GitHub Issue Set
create_issue_setSplit an SDLC plan into GitHub issues, previewing changes by default; pass dryRun false to create them.
Instructions
Split an SDLC plan into GitHub issues. Supports dryRun (default TRUE) - preview mode.
SAFETY: dryRun defaults to true. You MUST explicitly pass dryRun:false to create issues.
Dry-run output is designed to work as a human pre-write confirmation page: it includes a per-issue preview (title/labels/truncated body), warnings for issues missing labels, missing/short bodies, or titles exceeding GitHub's 256-character limit, and the exact repo coordinates that would be written to.
Args:
owner, repo: Repository coordinates.
titlePrefix (string?): Prefix for every issue title.
issues (array): 1-50 issues, each with title, body, labels?, assignees?. Accepts plan_from_context's issueDrafts directly.
dryRun (boolean): Default true - preview mode only.
Optional recovery controls belong in request params._meta["io.github.SakuraCianna/agentic-sdlc-mcp/issue-recovery"], never tool arguments:
idempotencyKey: 1-128 ASCII characters matching [A-Za-z0-9._:-]+. Use the same key in preview and live metadata and reuse the complete payload when resuming.
previewDigest: The 64-character lowercase hex digest from the reviewed preview. Mismatches cause zero writes. The metadata value is a strict object with only those optional fields. Invalid recovery metadata is rejected before GitHub access. Other tool arguments retain their legacy ignored-extra-field behavior.
Returns: Confirmed created/reused issue numbers, per-input created/reused/failed/unknown/pending status and recovery guidance, or a preview + digest. Cancellation stops new writes but cannot establish whether an in-flight write committed. Idempotency recovery checks at most 300 issues including closed ones and fails closed for missing inputs when evidence is incomplete. Markers are correlation data, not authorization; concurrent processes and restarts cannot guarantee exactly-once writes. SDLC_READ_ONLY=true rejects live writes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | GitHub repo. Falls back to GITHUB_REPO. | |
| owner | No | GitHub owner. Falls back to GITHUB_OWNER. | |
| dryRun | No | If true (default), preview issues without creating them. | |
| issues | Yes | Array of issues to create (1-50). | |
| titlePrefix | No | Optional prefix prepended to every issue title. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | Number of issues previewed or known successful issue references, including previously confirmed issues during recovery. | |
| items | No | Per-input live results. Unknown means the write may have committed; pending means no request started. | |
| dryRun | Yes | Whether this was a preview-only run. | |
| issues | Yes | Known successful issue references (empty in dry run). Inspect items for newly created, reused, or no longer verified references. | |
| preview | Yes | Per-issue preview (title, labels, truncated body) -- populated in dry run only. | |
| failures | Yes | Rejected or unconfirmed writes. Inspect items to distinguish failed from unknown commit status. Empty in dry run and on full success. | |
| recovery | No | Recovery guidance. Even with a key, cross-process races and server restarts cannot guarantee exactly-once creation. | |
| warnings | Yes | Human-review flags, e.g. missing labels, overlong title, missing/short body. | |
| targetRepo | Yes | Repository targeted by the preview or live batch. | |
| previewDigest | No | Digest binding the complete ordered issue payload, target repository and optional request-metadata idempotencyKey. Return it as previewDigest inside request params._meta['io.github.SakuraCianna/agentic-sdlc-mcp/issue-recovery'], never tool arguments. | |
| previewTitles | Yes | Final titles (with prefix applied). | |
| trustBoundary | No |