Preamble (run first)
# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.
# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.
#
# AGENT NOTE: when this skill finishes, run the matching completion command:
# suiperpower track submit-to-sui-overflow ship completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track submit-to-sui-overflow ship started >/dev/null 2>&1 &
true
If TEL_PROMPTED is no, before doing real work, ask the user:
Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in ~/.suiperpower/config.json.
A) Sure, anonymous
B) No thanks
Write the answer to ~/.suiperpower/config.json telemetryTier field and create ~/.suiperpower/.telemetry-prompted. Then continue.
What this skill does
Runs the full Sui Overflow submission flow, following skills/data/guides/deepsurge-submission.md. The skill prepares everything the user needs to paste into the deepsurge.xyz form, validates assets to spec, generates a tight demo video script, and runs a day-of preflight gate that catches the obvious last-minute mistakes.
The skill writes everything captured to .suiperpower/submission-context.md per the phase-handoff spec. Submission stays append-only so re-runs can refine without losing prior state.
When to use it
- After the package is deployed and
track-pick.md has named a primary track.
- When the user wants to submit to Sui Overflow and asks what is left.
- For the day-of submission window when preflight matters.
When NOT to use it
- Before the project deploys. Run
deploy-to-testnet or deploy-to-mainnet first.
- Without a track pick. Run
pick-my-sui-track first; the form needs a primary track.
- For non-Overflow submissions. Other Sui hackathons may use different forms; this skill targets deepsurge.xyz.
If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
Inputs
.suiperpower/idea-context.md: chosen idea, target user, one-liner.
.suiperpower/deploy-context.md: package id, env (mainnet or testnet), modules.
.suiperpower/track-pick.md: primary track, optional secondary.
.suiperpower/business-model.md and .suiperpower/retention-loop.md, used to draft the project description.
- The team roster (names, roles).
- Asset files: a 1280x1280 logo, a 1920x1080 cover image, a demo video link or file.
- Optional: a roast and product-review pass so the form copy is sharper.
Outputs
A .suiperpower/submission-context.md entry following the canonical headers from skills/data/specs/phase-handoff.md:
## Submission, <timestamp>
### Hackathon
- name: Sui Overflow 2026
- portal: https://deepsurge.xyz
- track primary: <sponsor or thematic>
- track secondary: <sponsor or thematic | none>
- submission deadline: <yyyy-mm-dd HH:MM TZ>
### Project copy
- name: <project name>
- one-liner: <one sentence>
- description: <one paragraph, 80-150 words>
- problem: <one paragraph>
- solution: <one paragraph>
- why-Sui: <one paragraph naming the Sui primitives load-bearing for the project>
### Artifacts
- package id (mainnet or testnet): <0x...>
- demo URL: <https://...>
- repo URL: <https://...>
- video URL: <https://...>
- pitch deck URL: <https://...>
- logo (1280x1280, PNG, transparent OK): <path or URL>
- cover image (1920x1080, PNG): <path or URL>
### Demo video
- length: <60-180 seconds>
- script: <inline or path to script>
### Team
- members: <list of name, role, contact>
### Day-of preflight
- form fields filled: <yes | no>
- assets uploaded: <yes | no>
- demo URL reachable: <yes | no>
- video URL reachable: <yes | no>
- package id verified on the right env: <yes | no>
- pitch deck readable: <yes | no>
- track aligned with deepest sponsor integration: <yes | no>
- final submitted: <yes | no>
Workflow
Read context
- Verify
idea-context.md, deploy-context.md, track-pick.md exist. If any are missing, route to the relevant skill.
- Read
business-model.md, retention-loop.md, product-review.md, roast.md if they exist; the form copy will be sharper.
Draft project copy
- Name and one-liner: pull from
idea-context.md. Sharpen for the form: under 80 characters.
- Description: one paragraph, 80 to 150 words. Lead with the problem, then the solution, then the user.
- Problem: one paragraph, concrete and named.
- Solution: one paragraph, concrete. Mention Sui primitives only when load-bearing.
- Why Sui: one paragraph naming the primitives (objects, capabilities, PTBs, sponsor protocols) the project genuinely depends on. Refuse to claim Sui is load-bearing if
pick-my-sui-track says otherwise.
Validate assets
- Logo: confirm 1280x1280, PNG. If the user provides a different size, either auto-resize (with consent) or block the submission until corrected.
- Cover: confirm 1920x1080 PNG.
- Demo URL: HEAD or HTTP GET to confirm a 200.
- Video URL: confirm a 200 and an embeddable target.
- Pitch deck URL: confirm a 200.
Demo video script
- 60 to 180 seconds. Structure:
- 0 to 10s: hook, the problem in one sentence.
- 10 to 30s: the solution, with a working demo cut.
- 30 to 90s: walk the load-bearing flow showing the sponsor integration in action.
- 90 to 120s: the team in one beat. Optional.
- 120 to 180s: the ask, where to find more.
- See
references/video-script-template.md.
Form copy
- Generate the exact text to paste into each deepsurge.xyz field per
skills/data/guides/deepsurge-submission.md. The skill does not auto-submit; it produces text.
- Save form copy under
Project copy in submission-context.md.
Day-of preflight
- Walk the preflight checklist in the writeback's
Day-of preflight section.
- For each item, mark yes only after a verifiable check (HTTP 200, file size match, package id present in
sui client object output).
- If any item is no, name what is blocking and stop. Do not mark
final submitted: yes unless the user confirms the actual deepsurge.xyz submission went through.
Writeback
- Append the
## Submission, <timestamp> block. Append-only; re-runs add a new dated block.
Hand off
- Surface the form copy and the submission portal URL.
- Pause: the deepsurge.xyz form is filled in the user's browser. The skill cannot submit on the user's behalf.
Quality gate (anti-slop)
Before reporting done:
- Was every required input file present? (Refuse to draft submission copy without
idea-context.md and deploy-context.md.)
- Did the why-Sui paragraph cite a load-bearing primitive, not a sticker-level integration?
- Was the logo verified at 1280x1280? Cover at 1920x1080?
- Did the demo video script show the load-bearing flow from
track-pick.md?
- Did the day-of preflight tick every item with a verifiable check, not an "I think so"?
- Did the writeback happen?
If any answer is no, the skill keeps working.
References
On-demand references (load when relevant to the user's question):
references/video-script-template.md: 60-180 second beats, with copy slots.
references/form-copy-template.md: deepsurge.xyz field-by-field copy template.
Canonical:
skills/data/guides/deepsurge-submission.md
skills/data/specs/phase-handoff.md
Use in your agent
- Claude Code:
claude "/suiper:submit-to-sui-overflow <your message>"
- Codex:
codex "/submit-to-sui-overflow <your message>"
- Grok Build: run
grok, then /submit-to-sui-overflow <your message> in the session
- Cursor: paste a chat message that includes a phrase like "submit to Sui Overflow", or load
~/.cursor/rules/submit-to-sui-overflow.mdc and reference it.
If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
1---2name: submit-to-sui-overflow3description: Submit a project to Sui Overflow on deepsurge.xyz. Use when the user wants to submit to Overflow or prepare a hackathon submission.4---56## Preamble (run first)78```bash9# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.10# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.11#12# AGENT NOTE: when this skill finishes, run the matching completion command:13# suiperpower track submit-to-sui-overflow ship completed14# Or use "failed" / "aborted" if it ended that way.15command -v suiperpower >/dev/null 2>&1 && suiperpower track submit-to-sui-overflow ship started >/dev/null 2>&1 &16true17```1819If `TEL_PROMPTED` is `no`, before doing real work, ask the user:2021> Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in `~/.suiperpower/config.json`.22>23> A) Sure, anonymous24> B) No thanks2526Write the answer to `~/.suiperpower/config.json` `telemetryTier` field and create `~/.suiperpower/.telemetry-prompted`. Then continue.2728## What this skill does2930Runs the full Sui Overflow submission flow, following `skills/data/guides/deepsurge-submission.md`. The skill prepares everything the user needs to paste into the deepsurge.xyz form, validates assets to spec, generates a tight demo video script, and runs a day-of preflight gate that catches the obvious last-minute mistakes.3132The skill writes everything captured to `.suiperpower/submission-context.md` per the phase-handoff spec. Submission stays append-only so re-runs can refine without losing prior state.3334## When to use it3536- After the package is deployed and `track-pick.md` has named a primary track.37- When the user wants to submit to Sui Overflow and asks what is left.38- For the day-of submission window when preflight matters.3940## When NOT to use it4142- Before the project deploys. Run `deploy-to-testnet` or `deploy-to-mainnet` first.43- Without a track pick. Run `pick-my-sui-track` first; the form needs a primary track.44- For non-Overflow submissions. Other Sui hackathons may use different forms; this skill targets deepsurge.xyz.4546If you activated this and the user actually wants something else, consult `skills/SKILL_ROUTER.md` and hand off.4748## Inputs4950- `.suiperpower/idea-context.md`: chosen idea, target user, one-liner.51- `.suiperpower/deploy-context.md`: package id, env (mainnet or testnet), modules.52- `.suiperpower/track-pick.md`: primary track, optional secondary.53- `.suiperpower/business-model.md` and `.suiperpower/retention-loop.md`, used to draft the project description.54- The team roster (names, roles).55- Asset files: a 1280x1280 logo, a 1920x1080 cover image, a demo video link or file.56- Optional: a roast and product-review pass so the form copy is sharper.5758## Outputs5960A `.suiperpower/submission-context.md` entry following the canonical headers from `skills/data/specs/phase-handoff.md`:6162```markdown63## Submission, <timestamp>6465### Hackathon66- name: Sui Overflow 202667- portal: https://deepsurge.xyz68- track primary: <sponsor or thematic>69- track secondary: <sponsor or thematic | none>70- submission deadline: <yyyy-mm-dd HH:MM TZ>7172### Project copy73- name: <project name>74- one-liner: <one sentence>75- description: <one paragraph, 80-150 words>76- problem: <one paragraph>77- solution: <one paragraph>78- why-Sui: <one paragraph naming the Sui primitives load-bearing for the project>7980### Artifacts81- package id (mainnet or testnet): <0x...>82- demo URL: <https://...>83- repo URL: <https://...>84- video URL: <https://...>85- pitch deck URL: <https://...>86- logo (1280x1280, PNG, transparent OK): <path or URL>87- cover image (1920x1080, PNG): <path or URL>8889### Demo video90- length: <60-180 seconds>91- script: <inline or path to script>9293### Team94- members: <list of name, role, contact>9596### Day-of preflight97- form fields filled: <yes | no>98- assets uploaded: <yes | no>99- demo URL reachable: <yes | no>100- video URL reachable: <yes | no>101- package id verified on the right env: <yes | no>102- pitch deck readable: <yes | no>103- track aligned with deepest sponsor integration: <yes | no>104- final submitted: <yes | no>105```106107## Workflow1081091. **Read context**110 - Verify `idea-context.md`, `deploy-context.md`, `track-pick.md` exist. If any are missing, route to the relevant skill.111 - Read `business-model.md`, `retention-loop.md`, `product-review.md`, `roast.md` if they exist; the form copy will be sharper.1121132. **Draft project copy**114 - Name and one-liner: pull from `idea-context.md`. Sharpen for the form: under 80 characters.115 - Description: one paragraph, 80 to 150 words. Lead with the problem, then the solution, then the user.116 - Problem: one paragraph, concrete and named.117 - Solution: one paragraph, concrete. Mention Sui primitives only when load-bearing.118 - Why Sui: one paragraph naming the primitives (objects, capabilities, PTBs, sponsor protocols) the project genuinely depends on. Refuse to claim Sui is load-bearing if `pick-my-sui-track` says otherwise.1191203. **Validate assets**121 - Logo: confirm 1280x1280, PNG. If the user provides a different size, either auto-resize (with consent) or block the submission until corrected.122 - Cover: confirm 1920x1080 PNG.123 - Demo URL: HEAD or HTTP GET to confirm a 200.124 - Video URL: confirm a 200 and an embeddable target.125 - Pitch deck URL: confirm a 200.1261274. **Demo video script**128 - 60 to 180 seconds. Structure:129 - 0 to 10s: hook, the problem in one sentence.130 - 10 to 30s: the solution, with a working demo cut.131 - 30 to 90s: walk the load-bearing flow showing the sponsor integration in action.132 - 90 to 120s: the team in one beat. Optional.133 - 120 to 180s: the ask, where to find more.134 - See `references/video-script-template.md`.1351365. **Form copy**137 - Generate the exact text to paste into each deepsurge.xyz field per `skills/data/guides/deepsurge-submission.md`. The skill does not auto-submit; it produces text.138 - Save form copy under `Project copy` in `submission-context.md`.1391406. **Day-of preflight**141 - Walk the preflight checklist in the writeback's `Day-of preflight` section.142 - For each item, mark yes only after a verifiable check (HTTP 200, file size match, package id present in `sui client object` output).143 - If any item is no, name what is blocking and stop. Do not mark `final submitted: yes` unless the user confirms the actual deepsurge.xyz submission went through.1441457. **Writeback**146 - Append the `## Submission, <timestamp>` block. Append-only; re-runs add a new dated block.1471488. **Hand off**149 - Surface the form copy and the submission portal URL.150 - Pause: the deepsurge.xyz form is filled in the user's browser. The skill cannot submit on the user's behalf.151152## Quality gate (anti-slop)153154Before reporting done:155156- Was every required input file present? (Refuse to draft submission copy without `idea-context.md` and `deploy-context.md`.)157- Did the why-Sui paragraph cite a load-bearing primitive, not a sticker-level integration?158- Was the logo verified at 1280x1280? Cover at 1920x1080?159- Did the demo video script show the load-bearing flow from `track-pick.md`?160- Did the day-of preflight tick every item with a verifiable check, not an "I think so"?161- Did the writeback happen?162163If any answer is no, the skill keeps working.164165## References166167On-demand references (load when relevant to the user's question):168169- `references/video-script-template.md`: 60-180 second beats, with copy slots.170- `references/form-copy-template.md`: deepsurge.xyz field-by-field copy template.171172Canonical:173174- `skills/data/guides/deepsurge-submission.md`175- `skills/data/specs/phase-handoff.md`176177## Use in your agent178179- Claude Code: `claude "/suiper:submit-to-sui-overflow <your message>"`180- Codex: `codex "/submit-to-sui-overflow <your message>"`181- Grok Build: run `grok`, then `/submit-to-sui-overflow <your message>` in the session182- Cursor: paste a chat message that includes a phrase like "submit to Sui Overflow", or load `~/.cursor/rules/submit-to-sui-overflow.mdc` and reference it.183184If you activated this and the user actually wants something else, consult `skills/SKILL_ROUTER.md` and hand off.