pr-submitter

pr-submitter is a skill for Claude Code, Codex from Fu-Jie/openwebui-extensions. It costs 44 tokens per session (1,447 once invoked), scanned C, original, MIT.

A workflow for submitting a feature branch as a Pull Request on GitHub, where a Pull Request is a request to merge code changes into a project. It checks the branch, authentication, commits, and formats the bilingual request body safely.

In plain words
What is it for?
Use it after all changes have been committed and the release-preparation work is complete. It checks that the branch is suitable, verifies GitHub access, and creates the Pull Request.
Why use it?
It reduces mistakes when preparing and publishing the final code review request, especially when the message contains shell-sensitive characters.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it after all changes have been committed and the release-preparation work is complete. It checks that the branch is suitable, verifies GitHub access, and creates the Pull Request.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fu-jie/openwebui-extensions/pr-submitter
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Fu-Jie/openwebui-extensions --skill pr-submitter
Clone the repo
git clone --depth 1 https://github.com/Fu-Jie/openwebui-extensions

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-submitter

README.md
[![agentmods](https://agentmods.dev/badge/skills/fu-jie/openwebui-extensions/pr-submitter/github.svg)](https://agentmods.dev/skills/fu-jie/openwebui-extensions/pr-submitter)
Your own site
<a href="https://agentmods.dev/skills/fu-jie/openwebui-extensions/pr-submitter"><img src="https://agentmods.dev/badge/skills/fu-jie/openwebui-extensions/pr-submitter/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pr-submitter

Your own site · 80×15
<a href="https://agentmods.dev/skills/fu-jie/openwebui-extensions/pr-submitter"><img src="https://agentmods.dev/badge/skills/fu-jie/openwebui-extensions/pr-submitter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,447 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00044 $0.01447
Opus 5 $0.00022 $0.00724
Sonnet 5 $0.00009 $0.00289
Haiku 4.5 $0.00004 $0.00145

Measured 10d ago against content hash 92e449ada61a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade C, and why

pr-submitter scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

**Note**: The `.temp/` directory itself is preserved for reuse; only the individual PR body file is deleted. To fully clean up: `rm -rf .temp/`
.agent/skills/pr-submitter/SKILL.md · 195 lines

How it starts

The opening of the file, as written. The whole thing — 195 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PR Submitter

Overview

This skill handles the final step of pushing a feature branch and creating a validated Pull Request on GitHub. Its primary purpose is to avoid the shell-escaping pitfalls (backticks, special characters in gh pr create --body) by always writing the PR body to a temp file first.

Prerequisites

  • All changes are committed (use release-prep skill first)
  • The gh CLI is authenticated (gh auth status)
  • Current branch is NOT main or master

Workflow

Step 0 — Initialize Temp Directory (Project-Based)

For all temporary files, use the project's .temp/ directory instead of system /tmp:

# Create temp directory if it doesn't exist
mkdir -p .temp

Why: All temporary files stay within the project workspace, avoiding system /tmp pollution and better aligning with OpenWebUI workspace isolation principles.

Step 1 — Pre-Flight Checks

Run these checks before any push:

# 1. Confirm not on protected branch
git branch --show-current

# 2. Verify there are commits to push
git log origin/$(git branch --show-current)..HEAD --oneline 2>/dev/null || echo "No remote tracking branch yet"

# 3. Check gh CLI auth
gh auth status

If any check fails, stop and report clearly.

Step 2 — Collect PR Metadata

Gather:

  • PR Title: Must follow Conventional Commits format, English only (e.g., feat(github-copilot-sdk): release v0.8.0 with conditional tool filtering)
  • Target base branch: Default is main
  • Plugin name + version (to build body sections)
  • Key changes (reuse from release-prep or the latest What's New section)

Step 3 — Build PR Body File (Shell-Escape-Safe)

Always write the body to a temp file in .temp/ directory. Never embed multi-line markdown with special characters directly in a shell command.

cat > .temp/pr_body.md << 'HEREDOC'
## Summary

Brief one-sentence description of what this PR accomplishes.

## Changes

### New Features
- Feature 1 description
- Feature 2 description

### Bug Fixes
- Fix 1 description

## Plugin Version
- `PluginName` bumped to `vX.X.X`

## Documentation
- README.md / README_CN.md updated
- docs/ mirrors synced

## Testing
- [ ] Tested locally in OpenWebUI
- [ ] i18n validated (all language keys present)
- [ ] Version consistency check passed (`python3 scripts/check_version_consistency.py`)

---

## 变更摘要(中文)

简要描述本次 PR 的改动内容。

### 新功能
- 功能1描述
- 功能2描述

### 问题修复
- 修复1描述
HEREDOC

Read the full file on GitHub · 195 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 195 lines · 44 tokens per session scan C 92e449ada61a

Subscribe to this mod's changes

pr-submitter is a skill published in the GitHub repository Fu-Jie/openwebui-extensions (307 stars, last pushed 5d ago), licensed MIT. It adds 44 tokens to every session and 1,447 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

timeline

Read back your append-only activity timeline for this repo+branch — a chronological log of session notes, context captures, and journal entries. Shows recent activity (last few days) by default, with the past-week view and the full all-time scroll alongside. Pass --rebuild to force a fresh rollup now. Use when the…

anthonysuherli/br8n · 98 tokens

commit

Creates conventional git commits enriched with a Context section that logs AI-layer changes (.wisci/, CLAUDE.md, skills, rules), turning git history into queryable long-term memory. Use to commit changes, optionally pushing afterward.

ph3on1x/wisci · 48 tokens

project-memory

GitHub-native persistence for project learnings, decisions, and patterns using issue labels and structured comments. Used when recording what worked, what failed, or architectural decisions that should persist across sessions.

maystudios/maxsimcli · 41 tokens

gsd-undo

Safe git revert. Roll back phase or plan commits using the phase manifest with dependency checks.

open-gsd/gsd-core · 23 tokens

handoff

Prepare a clean cross-session handoff so the next agent can pick up where you left off. Writes a focused continue.md in the active slice dir and ensures STATE.md + summary artifacts are current. Use when asked to "hand off", "prepare handoff", "pause work", "bookmark this", "I'll come back to this later", before…

open-gsd/gsd-pi · 91 tokens

user-general-facts

Capture and organize general facts about the user by topic.

memodb-io/Acontext · 15 tokens