with one click
submit
// Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work.
// Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | submit |
| description | Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work. |
Automates the post-implementation submission pipeline: quality enforcement, commit, PR creation, changelog, and push.
BA-1234). Auto-detected from branch name if pattern BA-\d+ exists.breaking, feature, enhance, deprecation, fix, doc, deps, misc, test. If omitted, infer from the most significant change.main.Detect JIRA key
jira_keyBA-\d+)Review changes
git status to see all changed/untracked filesgit diff and git diff --staged to review contentgit log {base_branch}..HEAD to see existing commits on branchMANDATORY - never skip.
Run sequentially, stop on first failure:
pants fmt ::
pants fix ::
pants lint --changed-since=origin/{base_branch}
fmt or fix produce changes, stage them automaticallylint fails, fix the issues and re-runNote: Type checking (pants check) and tests (pants test) are enforced by CI only. Do NOT run them locally — they consume excessive resources when multiple workers run concurrently.
Stage changes
git add specific files (avoid -A to prevent accidental inclusion of secrets).env, credentials, or other sensitive filesGenerate commit message
type(BA-XXXX): descriptionfix, feat, refactor, test, doc, ci, chore, perfmanager, client, client-sdk as the scope.fix(BA-1234): resolve session cleanup race conditionCreate commit
Push branch
git push -u origin {branch_name}Generate PR content
type(BA-XXXX): descriptionfix(BA-1234): resolve session cleanup race condition## Summary
<1-3 bullet points describing what changed and why>
## Test plan
- [ ] <test items>
Resolves BA-XXXX
Create PR
gh pr create --title "..." --body "..."
Extract PR number from gh pr create output
Determine changelog type (if not provided)
featurefixenhancebreakingtestdocdepsValid types (from pyproject.toml):
| Type | Category |
|---|---|
breaking | Breaking Changes |
feature | Features |
enhance | Improvements |
deprecation | Deprecations |
fix | Fixes |
doc | Documentation Updates |
deps | External Dependency Updates |
misc | Miscellaneous |
test | Test Updates |
Generate changelog message (if not provided)
Create file
changes/{pr_number}.{changelog_type}.mdCommit and push
git add changes/{pr_number}.{changelog_type}.md
git commit -m "changelog: add news fragment for PR #{pr_number}"
git push
Report final status:
Submission Complete
PR: #{pr_number} - {title}
URL: https://github.com/lablup/backend.ai/pull/{pr_number}
JIRA: BA-XXXX
Branch: {branch_name}
Changelog: changes/{pr_number}.{changelog_type}.md
Quality checks: All passed
Commits: {count} commit(s)
Quality check failed at: {step}
Error:
{error_output}
Options:
1. Fix issues and re-run /submit
2. Address specific failures manually
No changes detected.
Working tree is clean. Nothing to submit.
PR creation failed: {error}
Possible causes:
- Branch not pushed (will auto-push)
- PR already exists for this branch
- Authentication issue with gh CLI
Check: gh auth status
No JIRA issue key found.
Options:
1. Provide JIRA key: /submit BA-1234
2. Create new issue: /jira-issue
3. Continue without JIRA key (not recommended)
User: /submit
Agent: [Detects BA-1234 from branch, runs quality checks, commits, creates PR, generates changelog]
User: /submit BA-5678
Agent: [Uses BA-5678, runs full workflow]
User: /submit BA-5678 --type=fix --message="Fix session cleanup race condition when agent disconnects"
Agent: [Uses provided parameters, runs full workflow]
User: /jira-issue → creates BA-9999
User: [implements feature]
User: /submit BA-9999
Agent: [Full submission with BA-9999 reference]
/jira-issue - Create JIRA issue before starting work/tdd-guide - TDD workflow (run before /submit)fmt, fix, lint) use --changed-since=origin/{base_branch} to cover all PR changes, not just the last commitpyproject.tomlgh pr create, so changelog is always a second commitfeature and fix)changes/README.md guidelines