code-submit
Pi skill + TUI for generating HTML submission reports and opening GitHub draft PRs
Package details
Install code-submit from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:code-submit- Package
code-submit- Version
1.0.0- Published
- Apr 19, 2026
- Downloads
- 125/mo · 7/wk
- Author
- alpino13
- License
- MIT
- Types
- extension, skill
- Size
- 29.7 KB
- Dependencies
- 0 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
code-submit
Project-local Pi skill and extension for submission-oriented workflows.
Included pieces
.agents/skills/code-submit/— skill for implementing changes, generating.submissions/<change-slug>.html, and opening a GitHub draft PR.pi/extensions/submissions-browser.ts— TUI browser for submission HTML filesscripts/test-submissions-browser.sh— interactive harness for exercising the TUI locally
Interactive TUI harness
Run:
./scripts/test-submissions-browser.sh
This will:
- ensure
.submissions/exists - create a sample HTML submission if one is not present yet
- launch
pi - let you run
/submissionsinteractively
TUI usage
Inside Pi:
/submissions
or
/submissions <directory>
What the TUI shows
- a navigable list of submission HTML files on the left
- a preview pane on the right with extracted title, key headings, and summary text
- file metadata: size and last-modified timestamp
Controls
| Key | Action |
|---|---|
↑ / ↓ |
Navigate the file list |
| type any text | Filter by title, path, headings, or summary |
Backspace |
Delete last filter character |
Ctrl+S |
Cycle sort order: name → newest → largest |
Enter |
Open selected submission in the browser |
Esc |
Clear filter, or cancel if filter is empty |
Sort modes
The TUI cycles through three sort orders with Ctrl+S:
- name — alphabetical by filename (default)
- newest — most recently modified first
- largest — biggest file size first
Filter
Typing any printable character appends it to the filter query. The filter matches against the file path, report title, headings, and summary text. Matching is case-insensitive. The file list and preview update in real time as you type.
Skill usage
Invoke the skill explicitly:
/skill:code-submit
The skill will:
- implement the requested changes
- run tests and lint if configured (non-blocking)
- derive a
<change-slug>from the task title (e.g.Fix cache bug→fix-cache-bug) - generate
.submissions/<change-slug>.html - create a branch and commit
- open a GitHub draft PR
- return a summary with branch, commit, PR URL, report path, and validation results