Submit a project to Sui Overflow on deepsurge.xyz. Use when the user wants to submit to Overflow or prepare a hackathon submission.
Scanned 5/27/2026
Install via CLI
openskills install pivyme/suiperpower---
name: submit-to-sui-overflow
description: Submit a project to Sui Overflow on deepsurge.xyz. Use when the user wants to submit to Overflow or prepare a hackathon submission.
---
## Preamble (run first)
```bash
# 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`:
```markdown
## 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
1. **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.
2. **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.
3. **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.
4. **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`.
5. **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`.
6. **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.
7. **Writeback**
- Append the `## Submission, <timestamp>` block. Append-only; re-runs add a new dated block.
8. **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>"`
- 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.
No comments yet. Be the first to comment!