Agent skill

Skill Upstream PR

by luongnv89 in luongnv89/asm

Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics.

MITAuto-check: notesAgent Workflows

Install Skill Upstream PR

skills CLI
$ npx skills add luongnv89/asm --skill skill-upstream-pr -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install luongnv89/asm skill-upstream-pr --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-upstream-pr .claude/skills/skill-upstream-pr && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
skill-upstream-pr
GitHub stars
954
Token cost
~2.4k tokens
SKILL.md length
1,212 words
Files
4 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics.

  • Works in 7 steps: Fork and clone → Locate the target SKILL.md → Delegate to skill-creator's retrofit loop → …
  • Local-only skills
  • SKILL.md covers Repo Sync Before Edits…, When to Use, Prerequisites and Input, plus 5 more sections
  • Calls git and gh; reaches github.com

What it does

Skill Upstream PR is an agent skill from luongnv89/asm. Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics. Don't use for local-only skills, authoring from scratch, bulk repos, or registry publish.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `docs/README.md`, `references/pr-template.md` and `references/tone-guide.md`). Compatibility notes: Claude Code

It sits in Agent Workflows, covering Skill authoring. It works with GitHub. The repository describes itself as: The universal skill manager for AI coding agents. The licence is MIT.

When your agent uses it

  • Local-only skills
  • Authoring from scratch
  • Registry publish

Example prompts

  • “s retrofit, attach asm eval before/after metrics. Don”
  • “/skill-upstream-pr”

Requirements

  • Compatibility (from SKILL.md): Claude Code
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Grep, Glob

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Fork and clone
  2. Locate the target SKILL.md
  3. Delegate to skill-creator's retrofit loop
  4. Harvest metrics for the PR
  5. Build the PR body
  6. Last-mile confirmation (mandatory)
  7. Push and open the PR

What it can do on your machine

Read from SKILL.md and the folder at commit a01a183. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Skill Upstream PR loads about 2.4k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 1,212 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Grep, Glob

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from luongnv89/asm at commit a01a183, republished under its MIT licence (© luongnv89). 1,212 words, ~2,421 tokens.

Download SKILL.mdSave it as .claude/skills/skill-upstream-pr/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
skill-upstream-pr
description
Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics. Don't use for local-only skills, authoring from scratch, bulk repos, or registry publish.
allowed-tools
Bash, Read, Write, Edit, Grep, Glob
compatibility
Claude Code
license
MIT
effort
high
metadata.version
1.1.0
metadata.author
luongnv89

Skill Upstream PR

You are contributing quality improvements to someone else's open-source skill. The workflow is: fork → clone → improve via skill-creator's retrofit loop → push to fork → open a friendly suggestion PR upstream. You do not own the target repo. Every step assumes you are a polite contributor, not a maintainer.

Repo Sync Before Edits (mandatory)

Before any modification to the cloned fork, pull the latest from the fork's tracked branch:

bash
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"

If the working tree is dirty: stash, sync, pop. If origin is missing or conflicts occur: stop and ask the user. A stale fork that PRs yesterday's tree is worse than no PR.

When to Use

  • User shares a GitHub URL to a public skill repo and asks to "improve", "level up", or "contribute to" it
  • User says "open a PR to this skill" or "suggest improvements upstream"
  • The target skill scores below 85/8 on asm eval and the user wants the upstream author to benefit

Do not trigger for: editing a local skill with no upstream, authoring a brand-new skill, publishing to the ASM registry, or bulk-improving many repos in one pass. One skill → one PR.

Prerequisites

Verify each before cloning anything. Stop and tell the user if any fails.

  • asm on PATH (command -v asm)
  • gh on PATH and authenticated (gh auth status)
  • git on PATH
  • Network access to GitHub
  • Write access to your own GitHub account (for the fork)

Input

The user provides a GitHub reference to a skill. Accept any of:

  • https://github.com/owner/repo
  • https://github.com/owner/repo/tree/<branch>/<path/to/skill>
  • github:owner/repo[#ref][:path]

Normalize to owner, repo, optional ref, optional path. If path is not given and the repo has multiple SKILL.md files, ask the user which one.

Workflow

Execute phases in order. Do not skip or reorder.

Phase 0 — Fork and clone
bash
cd "$(mktemp -d)"
gh repo fork "$OWNER/$REPO" --clone --remote
cd "$REPO"
# If a ref was provided:
git checkout "$REF"

gh repo fork --clone --remote creates the fork under your account, clones it locally, sets origin to your fork and upstream to the original repo. Verify with git remote -v before continuing.

Create a dedicated branch for the improvement:

bash
git checkout -b "skill-upstream-pr/improve-$(date +%Y%m%d-%H%M%S)"
Phase 1 — Locate the target SKILL.md

If the user gave a path, use it. Otherwise:

bash
find . -maxdepth 5 -name "SKILL.md" -type f

If more than one match and no path was given, list the candidates and ask the user to pick. Never guess — a wrong PR is worse than a delayed one.

Set SKILL_PATH to the directory containing the chosen SKILL.md (not the file itself) — asm eval takes a directory.

Phase 2 — Delegate to skill-creator's retrofit loop

This skill does not reimplement the improvement loop. Follow skills/skill-creator/references/retrofit-loop.md with $SKILL_PATH as the target:

  1. Phase 0: capture .asm-improver/baseline.json
  2. Phase 1: asm eval --fix plus frontmatter normalization
  3. Phases 2–4: Gate 1 fixes, then the category loop against the 85/8 floor
  4. Phases 5–6: version bump and the loop cap (8 iterations / 3 no-move / 2 regressions)
  5. Phase 7: .asm-improver/report.md

If the baseline already passes both gates, stop and tell the user — no PR needed for a skill that already meets the floor. Offer to find a different skill or a different target.

Phase 3 — Harvest metrics for the PR

Read two files produced by the retrofit loop:

  • .asm-improver/baseline.json — the before snapshot
  • The latest .asm-improver/iter-N.json — the after snapshot

Extract for both:

  • overallScore, grade
  • Every categories[].score (7 categories)
  • topSuggestions summary (for context, not quoted verbatim)

Compute deltas. If the overall score did not improve by at least 3 points or no category moved from below 8 to at least 8, stop and tell the user — the change isn't meaningful enough to justify a PR. Offer the retrofit report as feedback they can share informally instead.

Phase 4 — Build the PR body

Read references/pr-template.md and fill it in. The template enforces friendly, suggestion-style tone. Key sections:

  • What changed — one-sentence summary
  • Before/after metrics — table with overallScore, grade, and all 7 categories
  • Files touched — list every modified path under $SKILL_PATH
  • Iterations taken — N of 8 from the retrofit loop
  • How to verify — the asm eval command the maintainer can run locally

Tone rules (read references/tone-guide.md):

  • Lead with "Hi — noticed X, wanted to share Y"
  • Frame as a suggestion, not a fix: "happy to adjust if the direction doesn't fit"
  • Never imply the maintainer did something wrong
  • Thank them for open-sourcing the skill
  • Close with "no obligation to merge — totally fine to close if this isn't the right direction"
Show full SKILL.md (509 more words)Show less
Phase 5 — Last-mile confirmation (mandatory)

Opening a PR on someone else's repo is public and hard to reverse. Before pushing anything, show the user:

  1. The PR title
  2. The full PR body (rendered markdown)
  3. The exact diff (git diff upstream/<default-branch>)
  4. The commands you are about to run

Ask the user to confirm. If they want edits, apply them and re-preview. Do not push until the user says "go" or equivalent.

Phase 6 — Push and open the PR

After approval:

bash
# Commit the changes
git add -A
git commit -m "$(cat <<'EOF'
improve SKILL.md: clarify triggers, add acceptance criteria, fix frontmatter

Suggested via skill-upstream-pr. See PR body for before/after metrics.
EOF
)"

# Push to the fork
git push -u origin "$(git rev-parse --abbrev-ref HEAD)"

# Open the PR upstream
gh pr create \
  --repo "$OWNER/$REPO" \
  --title "$PR_TITLE" \
  --body-file .asm-improver/pr-body.md

Never push to upstream. Never use --no-verify or other hook-skip flags. If gh pr create fails, stop and report — do not retry in a loop.

Print the PR URL returned by gh pr create so the user can open it.

Step Completion Reports (mandatory)

Emit a compact status block after each phase:

◆ Phase N — [phase name] ([N of 6])
··································································
  [check 1]:         √ pass
  [check 2]:         √ pass (note if relevant)
  [check 3]:         × fail — [reason]
  Criteria:          √ M/K met
  ______________________________
  Result:            PASS | FAIL | PARTIAL

Checks per phase:

  • Phase 0 — Fork created, Clone succeeded, Branch created, Remotes correct
  • Phase 1 — SKILL.md located, Path unambiguous
  • Phase 2 — Baseline captured, Retrofit loop ran, Final score >= 85, All categories >= 8
  • Phase 3 — Before/after delta >= 3 points OR category promoted
  • Phase 4 — PR body rendered, Tone checks passed
  • Phase 5 — User approved
  • Phase 6 — Push succeeded, PR opened, URL printed

Acceptance Criteria

  • Fork + clone done via gh repo fork --clone --remote — never a direct clone of upstream
  • Dedicated feature branch created before any edits
  • skill-creator retrofit loop run on the target; baseline + final JSON captured under .asm-improver/
  • Overall score improved by ≥ 3 points, OR at least one category moved from below 8 to ≥ 8
  • PR body built from references/pr-template.md with the full before/after table
  • User explicitly approved the PR preview before push
  • git push targets origin (the fork), never upstream
  • gh pr create --repo $OWNER/$REPO used — the PR targets the upstream repo
  • PR URL printed to the user at the end
Expected output
  • A new branch on the user's fork of $OWNER/$REPO
  • A public PR on $OWNER/$REPO with a before/after metrics table and friendly tone
  • A local .asm-improver/ directory with baseline, iterations, report, and pr-body.md

Edge Cases

  • Skill already passes 85/8 — stop at Phase 2; do not open a PR for a skill that already meets the floor
  • Improvement too small (< 3 point overall delta AND no category promoted) — stop at Phase 3; offer the retrofit report as informal feedback instead
  • Multiple SKILL.md files in the repo — ask the user which one; never batch
  • Fork already exists from a prior run — gh repo fork --clone --remote reuses it; rebase on upstream's default branch before editing
  • Upstream force-pushed or rewrote history — stop and ask the user; do not force-push the fork to "catch up"
  • asm eval --fix writes changes you disagree with — revert SKILL.md.bak and do targeted edits only; don't ship the auto-fix if it harms the skill
  • Maintainer has a CONTRIBUTING.md or PR template — read it before Phase 4 and align the PR body with their conventions; their template wins over ours

References

  • references/pr-template.md — PR title + body template with before/after table
  • references/tone-guide.md — wording patterns for friendly, suggestion-style contributions
  • skills/skill-creator/references/retrofit-loop.md — the improvement loop this skill delegates to
  • asm eval --help — flag reference for the evaluator

© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/skill-upstream-pr of luongnv89/asm.

  • SKILL.md
  • docs/README.md
  • references/pr-template.md
  • references/tone-guide.md

Open the folder on GitHubat commit a01a183

Compare with similar skills

Skill Upstream PR next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Skill Upstream PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Skill Upstream PR this skillluongnv89/asm954—~2.4kAutomated safety check: NotesMIT
Auto Skill Buildertradecatlabs/vibe-coding-cn17k1 repos~2.4kAutomated safety check: PassMIT
Skill Seekers Builderyusufkaraaslan/Skill_Seekers15k—~760Automated safety check: PassMIT
DBS Skill Makerdontbesilent2025/dbskill11k—~1.2kAutomated safety check: PassCustom licence
LubanLearnPrompt/luban-skill958—~3.1kAutomated safety check: PassMIT
Copilot Skill Creatorthomast1906/github-copilot-agent-skills202—~4.1kAutomated safety check: PassNone

Similar skills

  • Auto Skill Builder

    tradecatlabs/vibe-coding-cn

    Meta-skill that turns docs, APIs, code or specs into a reusable skill with references and a quality gate, and refactors skills that are unclear or misfire.

    17k GitHub starsUsed in 1 repo~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Skill Seekers Builder

    yusufkaraaslan/Skill_Seekers

    Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.

    15k GitHub stars~760 tokensUpdated 8 days ago
    Agent WorkflowsAuto-check passed
  • DBS Skill Maker

    dontbesilent2025/dbskill

    Turns a problem you keep running into into a single installable, tested skill, and prepares a GitHub repository only when you ask to share it.

    11k GitHub stars~1.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Luban

    LearnPrompt/luban-skill

    鲁班(Luban)——Skill打磨工坊。把一个"能用的Skill"打磨成"能被理解、能被安装、能被传播、能被验证、能持续进化"的公共Skill资产。

    958 GitHub stars~3.1k tokensUpdated 3 mo ago
    Agent WorkflowsAuto-check passed
  • Copilot Skill Creator

    thomast1906/github-copilot-agent-skills

    Guides creating, updating, reviewing and validating GitHub Copilot agent skills, from deciding whether a skill is the right tool to structuring bundled resources.

    202 GitHub stars~4.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Skill Creator

    TheSyart/emperor-agent

    Create, update, import, or validate Emperor Skills (SKILL.md folders with optional scripts, references, and assets).

    195 GitHub stars~2k tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed

More from luongnv89/asm

  • Skill Shortener

    luongnv89/asm

    Refactor a too-long SKILL.md by progressive disclosure: measure token cost, classify every section KEEP/CUT/MOVE, shorten the body into references/ and scripts/, verify nothing was lost.

    954 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check: notes
  • Skill Creator

    luongnv89/asm

    Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.

    954 GitHub stars~5.3k tokensUpdated 2 days ago
    Auto-check passed
  • Find Me Skills

    luongnv89/asm

    Find Agent Skills for a goal the user cannot name yet, then export an installable bundle.

    954 GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed
  • Refresh Index

    luongnv89/asm

    Sync every enabled repo in the curated skill index and open a confirmation-gated PR.

    954 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check: notes
  • Skill Index Updater

    luongnv89/asm

    Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR.

    954 GitHub stars~4.3k tokensUpdated 2 days ago
    Auto-check: notes
  • Install an improved variant of one named skill: resolve it by local path, repo, or name, run skill-creator's retrofit on a throwaway copy, then install the improved result.

    954 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Categories

Questions about Skill Upstream PR

What does Skill Upstream PR do?

Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics. Skill Upstream PR is an agent skill from luongnv89/asm. Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics.

When should I use Skill Upstream PR?

Skill Upstream PR fits situations like: local-only skills; authoring from scratch; registry publish.

How do I install Skill Upstream PR in Claude Code?

Run `npx skills add luongnv89/asm --skill skill-upstream-pr -a claude-code`. Or copy the skill folder (skills/skill-upstream-pr in luongnv89/asm) into .claude/skills/skill-upstream-pr in your project. Claude Code loads it when a task matches its description.

How do I install Skill Upstream PR in Codex?

Run `npx skills add luongnv89/asm --skill skill-upstream-pr -a codex`. Or copy the skill folder (skills/skill-upstream-pr in luongnv89/asm) into .agents/skills/skill-upstream-pr in your project. Codex loads it when a task matches its description.

Can I use Skill Upstream PR in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luongnv89/asm --skill skill-upstream-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-upstream-pr, .gemini/skills/skill-upstream-pr, .github/skills/skill-upstream-pr and .opencode/skills/skill-upstream-pr in your project.

What does Skill Upstream PR need to run?

Going by SKILL.md and its folder, Skill Upstream PR needs the command-line tools its instructions call (git and gh). Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob. Compatibility (from SKILL.md): Claude Code.

Does Skill Upstream PR access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Skill Upstream PR safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Skill Upstream PR use?

Skill Upstream PR is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Skill Upstream PR use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.

What are the alternatives to Skill Upstream PR?

Skills that share tags, products or a category with Skill Upstream PR: Auto Skill Builder (tradecatlabs/vibe-coding-cn, 17k stars), Skill Seekers Builder (yusufkaraaslan/Skill_Seekers, 15k stars), DBS Skill Maker (dontbesilent2025/dbskill, 11k stars) and Luban (LearnPrompt/luban-skill, 958 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Skill Upstream PR?

luongnv89 (a GitHub user) maintains it in luongnv89/asm, which has 954 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.

Source: luongnv89/asm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.