docs/archive/2026-07-ai-artifacts/claude-skills/integration-pipeline-preview/16-create-pr/02-submit/SKILL.md
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: 02-submit description: Commits and pushes the implementation, updates the phase-3 draft PR's title/body, and marks it ready for review. kind: leaf executor: script model: claude-haiku-4-5-20251001 --- # Submit PR (mark draft ready) Stages and commits the implement
npx skillsauth add neohaskell/neohaskell docs/archive/2026-07-ai-artifacts/claude-skills/integration-pipeline-preview/16-create-pr/02-submitInstall 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.
ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE. Superseded by
codemap/+ rootAGENTS.md. Scheduled for deletion once the pipeline is verified (Phase 6). Manifest:docs/archive/2026-07-ai-artifacts/MANIFEST.md
Stages and commits the implementation accumulated since phase 3, pushes the branch, updates the existing draft PR (opened in phase 3) with the final title and body, and marks it ready for review. It does not create a new PR.
.integration-pipeline/pr-title.txt.integration-pipeline/pr-body.mdpr_number and pr_url (set in phase 3 when the draft PR was opened).main → verify: git branch --show-current differs from main.pipeline.py get pr_number is non-empty.git status is clean afterwards.-u → verify: remote tracking branch set.gh pr view --json isDraft -q .isDraft is false.Assumptions:
pr_number/pr_url.--no-verify or signing bypasses; do not pass those flags.main.If any assumption fails, refuse — do not guess.
BRANCH=$(git branch --show-current). If $BRANCH = main, refuse: "cannot finalize PR from main".command -v gh >/dev/null 2>&1 — if non-zero, refuse: "gh not found" and exit non-zero.NUM=$(python3 .claude/skills/integration-pipeline-preview/scripts/pipeline.py get pr_number). If empty, refuse: "no draft PR from phase 3 — phase 3 must open the draft PR first".test -f .integration-pipeline/pr-title.txt && test -f .integration-pipeline/pr-body.md. Refuse with "PR body or title file missing" on failure.git add -u alone is unsafe here because new integration code is untracked. Resolve the integration's module + test paths from pipeline state:
MODULE_PATH=$(python3 .claude/skills/integration-pipeline-preview/scripts/pipeline.py get module_path)TEST_PATH=$(python3 .claude/skills/integration-pipeline-preview/scripts/pipeline.py get test_path)MODULE_NAME=$(python3 .claude/skills/integration-pipeline-preview/scripts/pipeline.py get module_name)git add -u (catches edits to existing tracked files such as integrations/nhintegrations.cabal).$MODULE_PATH, $TEST_PATH, and integrations/Integration/$MODULE_NAME/ (the integration's directory tree): if the path is non-empty AND exists on disk, run git add -- "$PATH". Skip silently when empty/missing — pipeline state allows them to be unset until the architecture phase decides..integration-pipeline/ is NOT staged: git diff --cached --name-only | grep -q '^\.integration-pipeline/' && refuse "pipeline state must not be committed".git commit -m "$(cat .integration-pipeline/pr-title.txt)". If there is nothing to commit (implementation already committed by an earlier phase), continue.git push -u origin "$BRANCH".gh pr edit "$NUM" --title "$(cat .integration-pipeline/pr-title.txt)" --body-file .integration-pipeline/pr-body.md.gh pr ready "$NUM".python3 .claude/skills/integration-pipeline-preview/scripts/pipeline.py complete 16.Implementation committed and pushed; the phase-3 draft PR updated to its final title/body and marked ready for review; pr_url/pr_number unchanged; phase 16 marked complete.
main → refuse: "cannot finalize PR from main".gh not on PATH → refuse: "gh not found".pr_number unset → refuse: "no draft PR from phase 3 — open it in phase 3 first".development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-style-guide description: NeoHaskell coding style reference and enforcement rules. Load when writing, reviewing, or modifying any Haskell code in the NeoHaskell project. Triggers on 'NeoHaskell style', 'NeoHaskell conventions', 'how to write NeoHaskell', '
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-security-review description: Security & Code Quality review for NeoHaskell. Use when reviewing code changes, PRs, or architectural decisions for security implications. Evaluates OWASP, NIST, EU compliance. Handles pipeline phases 2 (ADR review) and 10 (im
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-qa-designer description: Testing QA Designer for NeoHaskell. Designs comprehensive test specifications with exhaustive edge cases, boundary conditions, and happy paths BEFORE implementation. Handles pipeline phase 6 (Test Spec Design). Outside-in TDD meth
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-performance-review description: Performance review for NeoHaskell targeting 50k req/s throughput. Use when reviewing code for performance implications, INLINE pragmas, strictness, and allocation patterns. Handles pipeline phases 3 (ADR review) and 11 (imp