# Pack Issue Skeleton Script

`aces-pack-issue-skeleton` creates the standard top-level GitHub issues for a new
scenario-pack effort, so you start from a consistent set to edit, refine, and
split into child issues. It is a GitHub issue helper only — it does not scaffold
files; use `aces-new-pack` for the pack source skeleton.

It defaults to dry-run, so you can review the plan before anything is created:

```sh
aces-pack-issue-skeleton \
  --pack-id example-pack \
  --title "Example Pack" \
  --milestone-title "Scenario pack: Example Pack" \
  --source "Source label: https://example.invalid/source" \
  --focus "One sentence describing what the participant does."
```

Add `--apply` (and `--create-milestone` for a new milestone) once the dry-run
output looks right:

```sh
aces-pack-issue-skeleton \
  --pack-id example-pack \
  --title "Example Pack" \
  --milestone-title "Scenario pack: Example Pack" \
  --create-milestone \
  --source "Source label: https://example.invalid/source" \
  --focus "One sentence describing what the participant does." \
  --apply
```

If the milestone already exists, pass its number instead:

```sh
aces-pack-issue-skeleton \
  --pack-id example-pack \
  --title "Example Pack" \
  --milestone-number 42 \
  --apply
```

The skeleton issues are:

- scenario contract and pack skeleton
- topology, assets, and reference-triangle design
- ACES participant/attacker behavior specification and reference proof
- flag, challenge, and reference CTFd layer
- delivery profile bundles
- golden live-infrastructure build
- automated live rehearsal
- final manual participant walkthrough
- final docs, status, evidence, and teardown reconciliation

Re-running skips existing skeleton issues by title, so it won't overwrite edits.
Pass `--refresh-existing` only when you deliberately want to reapply the current
template body to existing skeleton issues.

Extra labels are applied only if they already exist in the repository:

```sh
aces-pack-issue-skeleton \
  --pack-id example-pack \
  --milestone-number 42 \
  --label scenario:example-pack
```
