[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DHWKPR6ZP4YJADFFG86903":3,"skill-same:01M6DHWKPR6ZP4YJADFFG86903":99},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6DHWKPR6ZP4YJADFFG86903","skill-upstream-pr",null,"Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before\u002Fafter metrics. Don't use for local-only skills, authoring from scratch, bulk repos, or registry publish.","luongnv89\u002Fasm","luongnv89","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3288457?v=4","01M6DHVDRYW79PQVAJZBW4V18N","Luong NGUYEN","01M6DHVDYJK5E6GDHG3EQ0NCBH",972,"MIT","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fskills\u002Fskill-upstream-pr\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"pr","skill upstream pr","upstream","write","skill-creator","bulk","authoring","local","GitHub Skill","attach","only","use","edit","github","read","eval","improve","Bash","open","publish","code","run","repos","2026-11-10 10:12:30",false,"---\nname: skill-upstream-pr\ndescription: \"Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before\u002Fafter metrics. Don't use for local-only skills, authoring from scratch, bulk repos, or registry publish.\"\nlicense: MIT\ncompatibility: Claude Code\nallowed-tools: Bash Read Write Edit Grep Glob\neffort: high\nmetadata:\n  version: 1.1.0\n  author: luongnv89\n---\n\n# Skill Upstream PR\n\nYou 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.\n\n## Repo Sync Before Edits (mandatory)\n\nBefore any modification to the cloned fork, pull the latest from the fork's tracked branch:\n\n```bash\nbranch=\"$(git rev-parse --abbrev-ref HEAD)\"\ngit fetch origin\ngit pull --rebase origin \"$branch\"\n```\n\nIf 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.\n\n## When to Use\n\n- User shares a GitHub URL to a public skill repo and asks to \"improve\", \"level up\", or \"contribute to\" it\n- User says \"open a PR to this skill\" or \"suggest improvements upstream\"\n- The target skill scores below 85\u002F8 on `asm eval` and the user wants the upstream author to benefit\n\nDo **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.\n\n## Prerequisites\n\nVerify each before cloning anything. Stop and tell the user if any fails.\n\n- `asm` on PATH (`command -v asm`)\n- `gh` on PATH and authenticated (`gh auth status`)\n- `git` on PATH\n- Network access to GitHub\n- Write access to your own GitHub account (for the fork)\n\n## Input\n\nThe user provides a GitHub reference to a skill. Accept any of:\n\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo`\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo\u002Ftree\u002F\u003Cbranch>\u002F\u003Cpath\u002Fto\u002Fskill>`\n- `github:owner\u002Frepo[#ref][:path]`\n\nNormalize 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.\n\n## Workflow\n\nExecute phases in order. Do not skip or reorder.\n\n### Phase 0 — Fork and clone\n\n```bash\ncd \"$(mktemp -d)\"\ngh repo fork \"$OWNER\u002F$REPO\" --clone --remote\ncd \"$REPO\"\n# If a ref was provided:\ngit checkout \"$REF\"\n```\n\n`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.\n\nCreate a dedicated branch for the improvement:\n\n```bash\ngit checkout -b \"skill-upstream-pr\u002Fimprove-$(date +%Y%m%d-%H%M%S)\"\n```\n\n### Phase 1 — Locate the target SKILL.md\n\nIf the user gave a `path`, use it. Otherwise:\n\n```bash\nfind . -maxdepth 5 -name \"SKILL.md\" -type f\n```\n\nIf 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.\n\nSet `SKILL_PATH` to the **directory** containing the chosen SKILL.md (not the file itself) — `asm eval` takes a directory.\n\n### Phase 2 — Delegate to skill-creator's retrofit loop\n\nThis skill does not reimplement the improvement loop. Follow `skills\u002Fskill-creator\u002Freferences\u002Fretrofit-loop.md` with `$SKILL_PATH` as the target:\n\n1. Phase 0: capture `.asm-improver\u002Fbaseline.json`\n2. Phase 1: `asm eval --fix` plus frontmatter normalization\n3. Phases 2–4: Gate 1 fixes, then the category loop against the 85\u002F8 floor\n4. Phases 5–6: version bump and the loop cap (8 iterations \u002F 3 no-move \u002F 2 regressions)\n5. Phase 7: `.asm-improver\u002Freport.md`\n\nIf 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.\n\n### Phase 3 — Harvest metrics for the PR\n\nRead two files produced by the retrofit loop:\n\n- `.asm-improver\u002Fbaseline.json` — the before snapshot\n- The latest `.asm-improver\u002Fiter-N.json` — the after snapshot\n\nExtract for both:\n\n- `overallScore`, `grade`\n- Every `categories[].score` (7 categories)\n- `topSuggestions` summary (for context, not quoted verbatim)\n\nCompute 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.\n\n### Phase 4 — Build the PR body\n\nRead `references\u002Fpr-template.md` and fill it in. The template enforces friendly, suggestion-style tone. Key sections:\n\n- **What changed** — one-sentence summary\n- **Before\u002Fafter metrics** — table with overallScore, grade, and all 7 categories\n- **Files touched** — list every modified path under `$SKILL_PATH`\n- **Iterations taken** — N of 8 from the retrofit loop\n- **How to verify** — the `asm eval` command the maintainer can run locally\n\nTone rules (read `references\u002Ftone-guide.md`):\n\n- Lead with \"Hi — noticed X, wanted to share Y\"\n- Frame as a suggestion, not a fix: \"happy to adjust if the direction doesn't fit\"\n- Never imply the maintainer did something wrong\n- Thank them for open-sourcing the skill\n- Close with \"no obligation to merge — totally fine to close if this isn't the right direction\"\n\n### Phase 5 — Last-mile confirmation (mandatory)\n\nOpening a PR on someone else's repo is public and hard to reverse. Before pushing anything, show the user:\n\n1. The PR title\n2. The full PR body (rendered markdown)\n3. The exact diff (`git diff upstream\u002F\u003Cdefault-branch>`)\n4. The commands you are about to run\n\nAsk the user to confirm. If they want edits, apply them and re-preview. Do not push until the user says \"go\" or equivalent.\n\n### Phase 6 — Push and open the PR\n\nAfter approval:\n\n```bash\n# Commit the changes\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nimprove SKILL.md: clarify triggers, add acceptance criteria, fix frontmatter\n\nSuggested via skill-upstream-pr. See PR body for before\u002Fafter metrics.\nEOF\n)\"\n\n# Push to the fork\ngit push -u origin \"$(git rev-parse --abbrev-ref HEAD)\"\n\n# Open the PR upstream\ngh pr create \\\n  --repo \"$OWNER\u002F$REPO\" \\\n  --title \"$PR_TITLE\" \\\n  --body-file .asm-improver\u002Fpr-body.md\n```\n\nNever 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.\n\nPrint the PR URL returned by `gh pr create` so the user can open it.\n\n## Step Completion Reports (mandatory)\n\nEmit a compact status block after each phase:\n\n```\n◆ Phase N — [phase name] ([N of 6])\n··································································\n  [check 1]:         √ pass\n  [check 2]:         √ pass (note if relevant)\n  [check 3]:         × fail — [reason]\n  Criteria:          √ M\u002FK met\n  ______________________________\n  Result:            PASS | FAIL | PARTIAL\n```\n\nChecks per phase:\n\n- **Phase 0** — `Fork created`, `Clone succeeded`, `Branch created`, `Remotes correct`\n- **Phase 1** — `SKILL.md located`, `Path unambiguous`\n- **Phase 2** — `Baseline captured`, `Retrofit loop ran`, `Final score >= 85`, `All categories >= 8`\n- **Phase 3** — `Before\u002Fafter delta >= 3 points OR category promoted`\n- **Phase 4** — `PR body rendered`, `Tone checks passed`\n- **Phase 5** — `User approved`\n- **Phase 6** — `Push succeeded`, `PR opened`, `URL printed`\n\n## Acceptance Criteria\n\n- Fork + clone done via `gh repo fork --clone --remote` — never a direct clone of upstream\n- Dedicated feature branch created before any edits\n- skill-creator retrofit loop run on the target; baseline + final JSON captured under `.asm-improver\u002F`\n- Overall score improved by ≥ 3 points, OR at least one category moved from below 8 to ≥ 8\n- PR body built from `references\u002Fpr-template.md` with the full before\u002Fafter table\n- User explicitly approved the PR preview before push\n- `git push` targets `origin` (the fork), never `upstream`\n- `gh pr create --repo $OWNER\u002F$REPO` used — the PR targets the upstream repo\n- PR URL printed to the user at the end\n\n### Expected output\n\n- A new branch on the user's fork of `$OWNER\u002F$REPO`\n- A public PR on `$OWNER\u002F$REPO` with a before\u002Fafter metrics table and friendly tone\n- A local `.asm-improver\u002F` directory with baseline, iterations, report, and `pr-body.md`\n\n## Edge Cases\n\n- **Skill already passes 85\u002F8** — stop at Phase 2; do not open a PR for a skill that already meets the floor\n- **Improvement too small** (\u003C 3 point overall delta AND no category promoted) — stop at Phase 3; offer the retrofit report as informal feedback instead\n- **Multiple SKILL.md files in the repo** — ask the user which one; never batch\n- **Fork already exists from a prior run** — `gh repo fork --clone --remote` reuses it; rebase on upstream's default branch before editing\n- **Upstream force-pushed or rewrote history** — stop and ask the user; do not force-push the fork to \"catch up\"\n- **`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\n- **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\n\n## References\n\n- `references\u002Fpr-template.md` — PR title + body template with before\u002Fafter table\n- `references\u002Ftone-guide.md` — wording patterns for friendly, suggestion-style contributions\n- `skills\u002Fskill-creator\u002Freferences\u002Fretrofit-loop.md` — the improvement loop this skill delegates to\n- `asm eval --help` — flag reference for the evaluator\n","# Skill Upstream PR\n\nYou 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.\n\n## Repo Sync Before Edits (mandatory)\n\nBefore any modification to the cloned fork, pull the latest from the fork's tracked branch:\n\n```bash\nbranch=\"$(git rev-parse --abbrev-ref HEAD)\"\ngit fetch origin\ngit pull --rebase origin \"$branch\"\n```\n\nIf 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.\n\n## When to Use\n\n- User shares a GitHub URL to a public skill repo and asks to \"improve\", \"level up\", or \"contribute to\" it\n- User says \"open a PR to this skill\" or \"suggest improvements upstream\"\n- The target skill scores below 85\u002F8 on `asm eval` and the user wants the upstream author to benefit\n\nDo **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.\n\n## Prerequisites\n\nVerify each before cloning anything. Stop and tell the user if any fails.\n\n- `asm` on PATH (`command -v asm`)\n- `gh` on PATH and authenticated (`gh auth status`)\n- `git` on PATH\n- Network access to GitHub\n- Write access to your own GitHub account (for the fork)\n\n## Input\n\nThe user provides a GitHub reference to a skill. Accept any of:\n\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo`\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo\u002Ftree\u002F\u003Cbranch>\u002F\u003Cpath\u002Fto\u002Fskill>`\n- `github:owner\u002Frepo[#ref][:path]`\n\nNormalize 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.\n\n## Workflow\n\nExecute phases in order. Do not skip or reorder.\n\n### Phase 0 — Fork and clone\n\n```bash\ncd \"$(mktemp -d)\"\ngh repo fork \"$OWNER\u002F$REPO\" --clone --remote\ncd \"$REPO\"\n# If a ref was provided:\ngit checkout \"$REF\"\n```\n\n`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.\n\nCreate a dedicated branch for the improvement:\n\n```bash\ngit checkout -b \"skill-upstream-pr\u002Fimprove-$(date +%Y%m%d-%H%M%S)\"\n```\n\n### Phase 1 — Locate the target SKILL.md\n\nIf the user gave a `path`, use it. Otherwise:\n\n```bash\nfind . -maxdepth 5 -name \"SKILL.md\" -type f\n```\n\nIf 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.\n\nSet `SKILL_PATH` to the **directory** containing the chosen SKILL.md (not the file itself) — `asm eval` takes a directory.\n\n### Phase 2 — Delegate to skill-creator's retrofit loop\n\nThis skill does not reimplement the improvement loop. Follow `skills\u002Fskill-creator\u002Freferences\u002Fretrofit-loop.md` with `$SKILL_PATH` as the target:\n\n1. Phase 0: capture `.asm-improver\u002Fbaseline.json`\n2. Phase 1: `asm eval --fix` plus frontmatter normalization\n3. Phases 2–4: Gate 1 fixes, then the category loop against the 85\u002F8 floor\n4. Phases 5–6: version bump and the loop cap (8 iterations \u002F 3 no-move \u002F 2 regressions)\n5. Phase 7: `.asm-improver\u002Freport.md`\n\nIf 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.\n\n### Phase 3 — Harvest metrics for the PR\n\nRead two files produced by the retrofit loop:\n\n- `.asm-improver\u002Fbaseline.json` — the before snapshot\n- The latest `.asm-improver\u002Fiter-N.json` — the after snapshot\n\nExtract for both:\n\n- `overallScore`, `grade`\n- Every `categories[].score` (7 categories)\n- `topSuggestions` summary (for context, not quoted verbatim)\n\nCompute 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.\n\n### Phase 4 — Build the PR body\n\nRead `references\u002Fpr-template.md` and fill it in. The template enforces friendly, suggestion-style tone. Key sections:\n\n- **What changed** — one-sentence summary\n- **Before\u002Fafter metrics** — table with overallScore, grade, and all 7 categories\n- **Files touched** — list every modified path under `$SKILL_PATH`\n- **Iterations taken** — N of 8 from the retrofit loop\n- **How to verify** — the `asm eval` command the maintainer can run locally\n\nTone rules (read `references\u002Ftone-guide.md`):\n\n- Lead with \"Hi — noticed X, wanted to share Y\"\n- Frame as a suggestion, not a fix: \"happy to adjust if the direction doesn't fit\"\n- Never imply the maintainer did something wrong\n- Thank them for open-sourcing the skill\n- Close with \"no obligation to merge — totally fine to close if this isn't the right direction\"\n\n### Phase 5 — Last-mile confirmation (mandatory)\n\nOpening a PR on someone else's repo is public and hard to reverse. Before pushing anything, show the user:\n\n1. The PR title\n2. The full PR body (rendered markdown)\n3. The exact diff (`git diff upstream\u002F\u003Cdefault-branch>`)\n4. The commands you are about to run\n\nAsk the user to confirm. If they want edits, apply them and re-preview. Do not push until the user says \"go\" or equivalent.\n\n### Phase 6 — Push and open the PR\n\nAfter approval:\n\n```bash\n# Commit the changes\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nimprove SKILL.md: clarify triggers, add acceptance criteria, fix frontmatter\n\nSuggested via skill-upstream-pr. See PR body for before\u002Fafter metrics.\nEOF\n)\"\n\n# Push to the fork\ngit push -u origin \"$(git rev-parse --abbrev-ref HEAD)\"\n\n# Open the PR upstream\ngh pr create \\\n  --repo \"$OWNER\u002F$REPO\" \\\n  --title \"$PR_TITLE\" \\\n  --body-file .asm-improver\u002Fpr-body.md\n```\n\nNever 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.\n\nPrint the PR URL returned by `gh pr create` so the user can open it.\n\n## Step Completion Reports (mandatory)\n\nEmit a compact status block after each phase:\n\n```\n◆ Phase N — [phase name] ([N of 6])\n··································································\n  [check 1]:         √ pass\n  [check 2]:         √ pass (note if relevant)\n  [check 3]:         × fail — [reason]\n  Criteria:          √ M\u002FK met\n  ______________________________\n  Result:            PASS | FAIL | PARTIAL\n```\n\nChecks per phase:\n\n- **Phase 0** — `Fork created`, `Clone succeeded`, `Branch created`, `Remotes correct`\n- **Phase 1** — `SKILL.md located`, `Path unambiguous`\n- **Phase 2** — `Baseline captured`, `Retrofit loop ran`, `Final score >= 85`, `All categories >= 8`\n- **Phase 3** — `Before\u002Fafter delta >= 3 points OR category promoted`\n- **Phase 4** — `PR body rendered`, `Tone checks passed`\n- **Phase 5** — `User approved`\n- **Phase 6** — `Push succeeded`, `PR opened`, `URL printed`\n\n## Acceptance Criteria\n\n- Fork + clone done via `gh repo fork --clone --remote` — never a direct clone of upstream\n- Dedicated feature branch created before any edits\n- skill-creator retrofit loop run on the target; baseline + final JSON captured under `.asm-improver\u002F`\n- Overall score improved by ≥ 3 points, OR at least one category moved from below 8 to ≥ 8\n- PR body built from `references\u002Fpr-template.md` with the full before\u002Fafter table\n- User explicitly approved the PR preview before push\n- `git push` targets `origin` (the fork), never `upstream`\n- `gh pr create --repo $OWNER\u002F$REPO` used — the PR targets the upstream repo\n- PR URL printed to the user at the end\n\n### Expected output\n\n- A new branch on the user's fork of `$OWNER\u002F$REPO`\n- A public PR on `$OWNER\u002F$REPO` with a before\u002Fafter metrics table and friendly tone\n- A local `.asm-improver\u002F` directory with baseline, iterations, report, and `pr-body.md`\n\n## Edge Cases\n\n- **Skill already passes 85\u002F8** — stop at Phase 2; do not open a PR for a skill that already meets the floor\n- **Improvement too small** (\u003C 3 point overall delta AND no category promoted) — stop at Phase 3; offer the retrofit report as informal feedback instead\n- **Multiple SKILL.md files in the repo** — ask the user which one; never batch\n- **Fork already exists from a prior run** — `gh repo fork --clone --remote` reuses it; rebase on upstream's default branch before editing\n- **Upstream force-pushed or rewrote history** — stop and ask the user; do not force-push the fork to \"catch up\"\n- **`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\n- **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\n\n## References\n\n- `references\u002Fpr-template.md` — PR title + body template with before\u002Fafter table\n- `references\u002Ftone-guide.md` — wording patterns for friendly, suggestion-style contributions\n- `skills\u002Fskill-creator\u002Freferences\u002Fretrofit-loop.md` — the improvement loop this skill delegates to\n- `asm eval --help` — flag reference for the evaluator\n",{"name":5,"effort":52,"license":15,"metadata":53,"description":7,"allowed-tools":55,"compatibility":56},"high",{"author":9,"version":54},"1.1.0","Bash Read Write Edit Grep Glob","Claude Code","main","65fbfb16db2df92eeabe0d8aa36a3ca9c97f81cc","skills\u002Fskill-upstream-pr",87,"https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm","https:\u002F\u002Fluongnv.com\u002Fasm","https:\u002F\u002Fgithub.com\u002Fluongnv89","https:\u002F\u002Fluongnv.com","Agentic AI & Security Engineer, Paris. Tools and guides for AI coding agents: claude-howto, asm, IDD. Learn, build, share, connect.","2026-11-12 00:49:16",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add luongnv89\u002Fasm --skill skill-upstream-pr",{"tool":73,"command":74},"bunx","bunx skills add luongnv89\u002Fasm --skill skill-upstream-pr",{"tool":76,"command":77},"pnpm","pnpm dlx skills add luongnv89\u002Fasm --skill skill-upstream-pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fskills\u002Fskill-upstream-pr\u002FSKILL.md",true,[81,87,91,95],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"docs\u002FREADME.md","REFERENCE","参考文档",2926,"https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fskills\u002Fskill-upstream-pr\u002Fdocs\u002FREADME.md",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fadvanced-profiling.md",3220,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fscience-research-data-analysis\u002Flatest-release-community\u002Fdhdna-profiler\u002Freferences\u002Fadvanced-profiling.md",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fpr-template.md",3551,"https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fskills\u002Fskill-upstream-pr\u002Freferences\u002Fpr-template.md",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Ftone-guide.md",2745,"https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fskills\u002Fskill-upstream-pr\u002Freferences\u002Ftone-guide.md",[100,121,130,151,171,180],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":47},"01M6DHXQFRH26RCJBCFGCWKCF2","well-formed","Review pull request diffs for code smells, style issues, and safety problems before merging.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fwell-formed\u002FSKILL.md",[],[107,38,108,109,110,111,112,113,114,115,116,117,44,118,119,120],"well formed","style","for","request","fixtures","review pull request","review","code smells","grep","diffs","pull request","issues","pull","Safety",{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":47},"01M6DHXN16BAWWPQZM7RQ6GPKC","missing-frontmatter","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fmissing-frontmatter\u002FSKILL.md",[],[127,128,129],"missing","missing frontmatter","frontmatter",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":47},"01M6WQBQGDN448GBBCPHFZQQAZ","hello-world","A minimal test skill that greets the user and demonstrates the ASM publish workflow.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fhello-world\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[140,141,142,143,144,145,44,146,43,147,148,149,150],"hello world","hello","world","workflow","test","Test Skill","demo","user","minimal","test, demo","minimal test skill",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":162,"publishedAt":47},"01M6DHXJV89CFQT467DJXHYG3Z","runtime-budget-pass","Short description that names a clear trigger. Don't use for unrelated docs.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fruntime-budget-pass\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[163,164,165,166,167,144,168,35,169,170,109],"runtime budget pass","runtime","Budget","unrelated","docs","short","clear","trigger",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":47},"01M6DHXGJ8Q1C5W2WGY47K8MGJ","runtime-budget-fail","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fruntime-budget-fail\u002FSKILL.md",[177],{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},[164,179,165,144],"runtime budget fail",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":47},"01M6DHXDJ2SJ6R8AJPXCW6GMN8","metadata-version-semver-pass","Validate a skill. Don't use for unrelated docs.","https:\u002F\u002Fgithub.com\u002Fluongnv89\u002Fasm\u002Fblob\u002Fmain\u002Fsrc\u002Feval\u002Fproviders\u002Fskill-best-practice\u002Fv1\u002Ffixtures\u002Fmetadata-version-semver-pass\u002FSKILL.md",[],[187,188,189,190,144,191,35,166,109,167],"metadata version semver pass","version","metadata","semver","validate"]