[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71H6AFPCSW3WX72N3BJGHKX":3,"skill-same:01M71H6AFPCSW3WX72N3BJGHKX":104},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71H6AFPCSW3WX72N3BJGHKX","dev-checkpoint",null,"Save progress and generate a continuation prompt. Updates PRD status markers, captures git state, and writes checkpoint.md for the next session. Use at the end of a session or before switching context.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"dev checkpoint","dev","checkpoint","log","at","updates","add","markers","progress","end","switching","next","commit","context","read","Bash","save","git","generate","status","2026-11-10 10:12:30",false,"---\nname: dev-checkpoint\ndescription: >-\n  Save progress and generate a continuation prompt.\n  Updates PRD status markers, captures git state,\n  and writes checkpoint.md for the next session.\n  Use at the end of a session or before switching context.\nargument-hint: \u003Cfeature name>\nallowed-tools: Bash(bash:*) Bash(git add:*) Bash(git commit:*) Bash(git log:*) Bash(git status:*) Read\n---\n\n## Checkpoint Current Session\n\nReview the current session and create a continuation prompt for the next session.\n\n### SAVE-ONLY MODE\n\nThis skill analyzes and saves. It does NOT fix, investigate, or implement anything.\n\n- Do NOT investigate bugs or errors mentioned during the session\n- Do NOT start implementing fixes or next steps\n- Do NOT move to the next phase or task\n- If the user mentions bugs during confirmation (Step 6), note them in `\u003Cblockers>` or `\u003Cnotes>` but do NOT attempt to fix them\n\n### Step 0: Discover Project Root\n\nRun the [discovery script](scripts\u002Fdiscover.sh):\n\n```bash\nbash \"$DISCOVER\" root\n```\n\nWhere `$DISCOVER` is the absolute path to `scripts\u002Fdiscover.sh` within this skill's directory.\n\n**Path safety** — shell state does not persist between tool calls, so you must provide full script paths on each call:\n- **Use `$HOME`** instead of the literal home directory (e.g., `bash \"$HOME\u002Fcode\u002F…\u002Fdiscover.sh\"`, not `bash \"\u002FUsers\u002Fname\u002F…\u002Fdiscover.sh\"`). This prevents username hallucination.\n- **Copy values from tool output.** When reusing a value returned by a previous command (like `$PROJECT_ROOT`), copy it verbatim from that command's output. Never retype a path from memory.\n- **Verify on first call**: if a script call fails with \"No such file\", the path is wrong — STOP and re-derive from the skill-loading context.\n- **Never ignore a non-zero exit.** If any script in this skill fails, stop and report the error before continuing.\n\nStore the output as `$PROJECT_ROOT`. If the command fails, inform the user and stop.\n\n### Step 1: Identify the Active Feature\n\nRun the [discovery script](scripts\u002Fdiscover.sh) to find features:\n\n```bash\nbash \"$DISCOVER\" features \"$PROJECT_ROOT\" \"$ARGUMENTS\"\n```\n\nPass `$ARGUMENTS` as the third argument only if the user provided one; omit it otherwise.\n\n- If the script exits non-zero (no `.dev\u002F` directory): ask the user to specify the feature name.\n- If output is empty: no features found, ask the user to specify the feature name.\n- If one line: use as `$FEATURE_PATH`.\n- If multiple lines: ask which feature to checkpoint.\n\nNever use raw `$ARGUMENTS` directly in shell commands or paths.\n\nValidate with the [validation script](scripts\u002Fvalidate.sh). Where `$VALIDATE` is the absolute path to `scripts\u002Fvalidate.sh` within this skill's directory. Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\n**If using an existing feature** (a `$FEATURE_PATH` was matched):\n\n```bash\nbash \"$VALIDATE\" feature-path \"$FEATURE_PATH\" \"$PROJECT_ROOT\"\n```\n\n**If creating a new feature** (no match, normalizing user input):\n\n```bash\nbash \"$VALIDATE\" normalize \"$USER_INPUT\"\n```\n\nOutputs `$FEATURE_NAME` on success; on failure, STOP and report the error.\n\nThe checkpoint will be saved to `$PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002Fcheckpoint.md`.\n\n### Step 2: Analyze Session with Agent\n\nLaunch the **checkpoint-analyzer agent** to scan PRD files and the current session:\n\n```\n\"Analyze the PRD files in $PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002F and the current session.\nFind: completed items (⬜ → ✅), pending items, decisions made, blockers encountered.\nDetermine current phase and next step.\"\n```\n\nUse `subagent_type=dev-workflow:checkpoint-analyzer` and `model=haiku`.\n\n### Step 3: Review Agent Findings\n\nAfter the agent returns:\n\n1. **Verify accuracy** — Check that completed\u002Fpending items match what happened\n2. **Add missing context** — Include any decisions or blockers the agent missed\n\n### Step 4: Update PRD Status Markers (REQUIRED)\n\nFor each PRD file in `.dev\u002F$FEATURE_NAME\u002F`:\n1. Read the file\n2. Change `⬜` to `✅` for completed items; update \"Status\" fields\n3. Save changes\n\nTrack what was updated (file + markers changed) — reported in Step 9.\n\nIf nothing was completed, state: \"No PRD updates needed.\"\n\n### Step 5: Capture Git State\n\nRun the [git state script](scripts\u002Fgit-state.sh):\n\n```bash\nbash \"$GIT_STATE\" full\n```\n\nWhere `$GIT_STATE` is the absolute path to `scripts\u002Fgit-state.sh` within this skill's directory. Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\nParse the output lines:\n- `git:false` → not a git repo; omit `branch`, `last_commit`, `uncommitted_changes` from frontmatter.\n- `branch:\u003Cname>` → store for frontmatter\n- `commit:\u003Coneline>` → store as last commit\n- `status:\u003Cline>` → each is one line of `git status --short`; if no `status:` lines, working tree is clean\n\n### Step 6: Confirm Session Context\n\nPresent the agent's findings (decisions, blockers, notes) and end with an explicit question:\n\n> \"Does this look right? Reply **yes** to continue, or tell me what to add or change.\"\n\nIf a category is empty, omit it.\n\n**STOP. Wait for explicit confirmation before proceeding to Step 7. If the user mentions new bugs or issues during this step, add them to the checkpoint notes — do NOT investigate or fix them.**\n\n### Step 7: Generate Continuation Prompt\n\n**Rules**:\n- Always include `\u003Ccontext>`, `\u003Ccurrent_state>`, `\u003Cnext_action>`, `\u003Ckey_files>`. Omit `\u003Cdecisions>`, `\u003Cblockers>`, `\u003Cnotes>` if empty.\n- No absolute paths with usernames → use relative paths. No secrets\u002Fcredentials → use placeholders.\n\nCreate a continuation prompt following the template in [checkpoint-template.md](references\u002Fcheckpoint-template.md).\n\n### Step 8: Save Checkpoint\n\nIf `$PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002Fcheckpoint.md` already exists, read it first (the Write tool requires reading before overwriting). Then write the continuation prompt to that path.\n\n### Step 9: Summary\n\nReport:\n- Which feature was checkpointed\n- **PRD updates made** (list each file and what was changed, or state \"No updates needed\")\n- What the next steps are\n- Confirm the checkpoint location\n\n### Step 9.5: Optional Worktree Setup (First Checkpoint Only)\n\nCheck whether to offer worktree setup using the [worktree script](scripts\u002Fworktree-setup.sh):\n\n```bash\nbash \"$WORKTREE\" check \"$FEATURE_NAME\" \"$PROJECT_ROOT\" \"$BRANCH\"\n```\n\nWhere `$WORKTREE` is the absolute path to `scripts\u002Fworktree-setup.sh` within this skill's directory. `$BRANCH` is the branch from Step 5 (or empty if not a git repo). Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\n- If output starts with `skip:` → skip this step entirely.\n- If output is `offer` → present the following to the user and wait for their response:\n\n> Would you like to set up a worktree-based workflow for `$FEATURE_NAME`?\n>\n> This will:\n> 1. Create branch `feature\u002F$FEATURE_NAME` with a worktree in `..\u002F\u003Cproject-basename>-$FEATURE_NAME\u002F`\n> 2. Move `.dev\u002F$FEATURE_NAME\u002F` to the worktree\n> 3. Commit the PRD files in the new worktree\n>\n> After setup, you should **end this session** and start a new one from the worktree directory.\n\n**If the user declines**: End the skill normally — no further action.\n\n**If the user accepts**:\n\n```bash\nbash \"$WORKTREE\" execute \"$FEATURE_NAME\" \"$PROJECT_ROOT\"\n```\n\nParse output: `worktree:\u003Cpath>` gives the worktree location.\n\nReport:\n\n> Worktree setup complete.\n>\n> - Branch: `feature\u002F$FEATURE_NAME`\n> - Worktree: `\u003Cpath from output>`\n> - PRD files moved and committed\n>\n> **Next**: End this session, then start a new one:\n> ```\n> cd \"\u003Cpath from output>\" && claude\n> ```\n\n### Step 10: Optional Commit\n\n**Skip this step entirely** if ANY of these are true:\n- This is not a git repository\n- `git status --porcelain` output is empty (no uncommitted changes)\n\nNote: Run `git status --porcelain` fresh here — do NOT reuse Step 5's result, because Step 9.5 may have moved files.\n\nIf there are uncommitted changes, generate a commit message from the checkpoint context:\n- Format: `\u003CSummary of what was accomplished this session>`\n- Derive the summary from the checkpoint's `\u003Ccontext>` and `\u003Ccurrent_state>` sections\n- Keep it to one concise sentence (under 72 characters if possible)\n\n**STOP.** Present the following to the user and wait for their response:\n\n> Ready to commit your changes:\n>\n> ```\n> \u003Coutput of `git status --short`>\n> ```\n>\n> Proposed commit message:\n> ```\n> \u003Cgenerated commit message>\n> ```\n>\n> Commit these changes?\n\n**If the user declines**: End the skill normally — no further action.\n\n**If the user accepts**, run:\n\n```bash\ngit add -u\n# If there are user-approved untracked files from `git status --short`, add them explicitly:\n# git add -- \"\u003Cpath>\"\ngit commit -m \"\u003Cgenerated commit message>\"\n```\n\nConfirm with `git log -1 --oneline` and report the commit hash.\n\n### Wrap-Up Suggestion\n\nAfter the checkpoint is complete (whether or not a commit was made), suggest:\n\n> Before ending your session, consider running `\u002Fdev-wrapup` to review learnings worth persisting and identify self-improvement signals.\n","## Checkpoint Current Session\n\nReview the current session and create a continuation prompt for the next session.\n\n### SAVE-ONLY MODE\n\nThis skill analyzes and saves. It does NOT fix, investigate, or implement anything.\n\n- Do NOT investigate bugs or errors mentioned during the session\n- Do NOT start implementing fixes or next steps\n- Do NOT move to the next phase or task\n- If the user mentions bugs during confirmation (Step 6), note them in `\u003Cblockers>` or `\u003Cnotes>` but do NOT attempt to fix them\n\n### Step 0: Discover Project Root\n\nRun the [discovery script](scripts\u002Fdiscover.sh):\n\n```bash\nbash \"$DISCOVER\" root\n```\n\nWhere `$DISCOVER` is the absolute path to `scripts\u002Fdiscover.sh` within this skill's directory.\n\n**Path safety** — shell state does not persist between tool calls, so you must provide full script paths on each call:\n- **Use `$HOME`** instead of the literal home directory (e.g., `bash \"$HOME\u002Fcode\u002F…\u002Fdiscover.sh\"`, not `bash \"\u002FUsers\u002Fname\u002F…\u002Fdiscover.sh\"`). This prevents username hallucination.\n- **Copy values from tool output.** When reusing a value returned by a previous command (like `$PROJECT_ROOT`), copy it verbatim from that command's output. Never retype a path from memory.\n- **Verify on first call**: if a script call fails with \"No such file\", the path is wrong — STOP and re-derive from the skill-loading context.\n- **Never ignore a non-zero exit.** If any script in this skill fails, stop and report the error before continuing.\n\nStore the output as `$PROJECT_ROOT`. If the command fails, inform the user and stop.\n\n### Step 1: Identify the Active Feature\n\nRun the [discovery script](scripts\u002Fdiscover.sh) to find features:\n\n```bash\nbash \"$DISCOVER\" features \"$PROJECT_ROOT\" \"$ARGUMENTS\"\n```\n\nPass `$ARGUMENTS` as the third argument only if the user provided one; omit it otherwise.\n\n- If the script exits non-zero (no `.dev\u002F` directory): ask the user to specify the feature name.\n- If output is empty: no features found, ask the user to specify the feature name.\n- If one line: use as `$FEATURE_PATH`.\n- If multiple lines: ask which feature to checkpoint.\n\nNever use raw `$ARGUMENTS` directly in shell commands or paths.\n\nValidate with the [validation script](scripts\u002Fvalidate.sh). Where `$VALIDATE` is the absolute path to `scripts\u002Fvalidate.sh` within this skill's directory. Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\n**If using an existing feature** (a `$FEATURE_PATH` was matched):\n\n```bash\nbash \"$VALIDATE\" feature-path \"$FEATURE_PATH\" \"$PROJECT_ROOT\"\n```\n\n**If creating a new feature** (no match, normalizing user input):\n\n```bash\nbash \"$VALIDATE\" normalize \"$USER_INPUT\"\n```\n\nOutputs `$FEATURE_NAME` on success; on failure, STOP and report the error.\n\nThe checkpoint will be saved to `$PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002Fcheckpoint.md`.\n\n### Step 2: Analyze Session with Agent\n\nLaunch the **checkpoint-analyzer agent** to scan PRD files and the current session:\n\n```\n\"Analyze the PRD files in $PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002F and the current session.\nFind: completed items (⬜ → ✅), pending items, decisions made, blockers encountered.\nDetermine current phase and next step.\"\n```\n\nUse `subagent_type=dev-workflow:checkpoint-analyzer` and `model=haiku`.\n\n### Step 3: Review Agent Findings\n\nAfter the agent returns:\n\n1. **Verify accuracy** — Check that completed\u002Fpending items match what happened\n2. **Add missing context** — Include any decisions or blockers the agent missed\n\n### Step 4: Update PRD Status Markers (REQUIRED)\n\nFor each PRD file in `.dev\u002F$FEATURE_NAME\u002F`:\n1. Read the file\n2. Change `⬜` to `✅` for completed items; update \"Status\" fields\n3. Save changes\n\nTrack what was updated (file + markers changed) — reported in Step 9.\n\nIf nothing was completed, state: \"No PRD updates needed.\"\n\n### Step 5: Capture Git State\n\nRun the [git state script](scripts\u002Fgit-state.sh):\n\n```bash\nbash \"$GIT_STATE\" full\n```\n\nWhere `$GIT_STATE` is the absolute path to `scripts\u002Fgit-state.sh` within this skill's directory. Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\nParse the output lines:\n- `git:false` → not a git repo; omit `branch`, `last_commit`, `uncommitted_changes` from frontmatter.\n- `branch:\u003Cname>` → store for frontmatter\n- `commit:\u003Coneline>` → store as last commit\n- `status:\u003Cline>` → each is one line of `git status --short`; if no `status:` lines, working tree is clean\n\n### Step 6: Confirm Session Context\n\nPresent the agent's findings (decisions, blockers, notes) and end with an explicit question:\n\n> \"Does this look right? Reply **yes** to continue, or tell me what to add or change.\"\n\nIf a category is empty, omit it.\n\n**STOP. Wait for explicit confirmation before proceeding to Step 7. If the user mentions new bugs or issues during this step, add them to the checkpoint notes — do NOT investigate or fix them.**\n\n### Step 7: Generate Continuation Prompt\n\n**Rules**:\n- Always include `\u003Ccontext>`, `\u003Ccurrent_state>`, `\u003Cnext_action>`, `\u003Ckey_files>`. Omit `\u003Cdecisions>`, `\u003Cblockers>`, `\u003Cnotes>` if empty.\n- No absolute paths with usernames → use relative paths. No secrets\u002Fcredentials → use placeholders.\n\nCreate a continuation prompt following the template in [checkpoint-template.md](references\u002Fcheckpoint-template.md).\n\n### Step 8: Save Checkpoint\n\nIf `$PROJECT_ROOT\u002F.dev\u002F$FEATURE_NAME\u002Fcheckpoint.md` already exists, read it first (the Write tool requires reading before overwriting). Then write the continuation prompt to that path.\n\n### Step 9: Summary\n\nReport:\n- Which feature was checkpointed\n- **PRD updates made** (list each file and what was changed, or state \"No updates needed\")\n- What the next steps are\n- Confirm the checkpoint location\n\n### Step 9.5: Optional Worktree Setup (First Checkpoint Only)\n\nCheck whether to offer worktree setup using the [worktree script](scripts\u002Fworktree-setup.sh):\n\n```bash\nbash \"$WORKTREE\" check \"$FEATURE_NAME\" \"$PROJECT_ROOT\" \"$BRANCH\"\n```\n\nWhere `$WORKTREE` is the absolute path to `scripts\u002Fworktree-setup.sh` within this skill's directory. `$BRANCH` is the branch from Step 5 (or empty if not a git repo). Apply the path safety rules from Step 0 (`$HOME`, copy from output).\n\n- If output starts with `skip:` → skip this step entirely.\n- If output is `offer` → present the following to the user and wait for their response:\n\n> Would you like to set up a worktree-based workflow for `$FEATURE_NAME`?\n>\n> This will:\n> 1. Create branch `feature\u002F$FEATURE_NAME` with a worktree in `..\u002F\u003Cproject-basename>-$FEATURE_NAME\u002F`\n> 2. Move `.dev\u002F$FEATURE_NAME\u002F` to the worktree\n> 3. Commit the PRD files in the new worktree\n>\n> After setup, you should **end this session** and start a new one from the worktree directory.\n\n**If the user declines**: End the skill normally — no further action.\n\n**If the user accepts**:\n\n```bash\nbash \"$WORKTREE\" execute \"$FEATURE_NAME\" \"$PROJECT_ROOT\"\n```\n\nParse output: `worktree:\u003Cpath>` gives the worktree location.\n\nReport:\n\n> Worktree setup complete.\n>\n> - Branch: `feature\u002F$FEATURE_NAME`\n> - Worktree: `\u003Cpath from output>`\n> - PRD files moved and committed\n>\n> **Next**: End this session, then start a new one:\n> ```\n> cd \"\u003Cpath from output>\" && claude\n> ```\n\n### Step 10: Optional Commit\n\n**Skip this step entirely** if ANY of these are true:\n- This is not a git repository\n- `git status --porcelain` output is empty (no uncommitted changes)\n\nNote: Run `git status --porcelain` fresh here — do NOT reuse Step 5's result, because Step 9.5 may have moved files.\n\nIf there are uncommitted changes, generate a commit message from the checkpoint context:\n- Format: `\u003CSummary of what was accomplished this session>`\n- Derive the summary from the checkpoint's `\u003Ccontext>` and `\u003Ccurrent_state>` sections\n- Keep it to one concise sentence (under 72 characters if possible)\n\n**STOP.** Present the following to the user and wait for their response:\n\n> Ready to commit your changes:\n>\n> ```\n> \u003Coutput of `git status --short`>\n> ```\n>\n> Proposed commit message:\n> ```\n> \u003Cgenerated commit message>\n> ```\n>\n> Commit these changes?\n\n**If the user declines**: End the skill normally — no further action.\n\n**If the user accepts**, run:\n\n```bash\ngit add -u\n# If there are user-approved untracked files from `git status --short`, add them explicitly:\n# git add -- \"\u003Cpath>\"\ngit commit -m \"\u003Cgenerated commit message>\"\n```\n\nConfirm with `git log -1 --oneline` and report the commit hash.\n\n### Wrap-Up Suggestion\n\nAfter the checkpoint is complete (whether or not a commit was made), suggest:\n\n> Before ending your session, consider running `\u002Fdev-wrapup` to review learnings worth persisting and identify self-improvement signals.\n",{"name":5,"description":7,"allowed-tools":53,"argument-hint":54},"Bash(bash:*) Bash(git add:*) Bash(git commit:*) Bash(git log:*) Bash(git status:*) Read","\u003Cfeature name>","main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add JSGforever\u002Fskillguard --skill dev-checkpoint",{"tool":68,"command":69},"bunx","bunx skills add JSGforever\u002Fskillguard --skill dev-checkpoint",{"tool":71,"command":72},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill dev-checkpoint","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002FSKILL.md",true,[76,82,86,92,96,100],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"agents\u002Fcheckpoint-analyzer.md","REFERENCE","参考文档",2037,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Fagents\u002Fcheckpoint-analyzer.md",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fcheckpoint-template.md",1458,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Freferences\u002Fcheckpoint-template.md",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fdiscover.sh","SCRIPT","脚本",1948,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Fscripts\u002Fdiscover.sh",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Fgit-state.sh",926,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Fscripts\u002Fgit-state.sh",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fvalidate.sh",1470,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Fscripts\u002Fvalidate.sh",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fworktree-setup.sh",2019,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__andreaserradev-gbj--dev-checkpoint\u002Fscripts\u002Fworktree-setup.sh",[105,133,147,172,194,214],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":48},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[111],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","when","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":137,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":48},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000033","数据分析师",[144,145,146],"data","data exfiltrator","files",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":48},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[154,155,156,157,158,159,160,161,162,163,164,165,166,167,33,43,168,169,170,171],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","activate","optimizer","react","streaming",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":181,"publishedAt":48},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[178],{"categoryNo":179,"categoryName":180,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[163,182,169,170,183,184,185,186,187,188,154,189,190,167,43,191,168,171,192,193],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":201,"publishedAt":48},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[200],{"categoryNo":179,"categoryName":180,"taxonomyType":20,"taxonomyTypeDesc":21},[202,171,203,204,205,206,163,154,207,208,209,43,168,169,210,170,211,212,213,42],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":227,"publishedAt":48},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[220,223,226],{"categoryNo":221,"categoryName":222,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":224,"categoryName":225,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[228,229,230,231,232,233,234,161,187,235,236,237,168,193,238,42,239,240,241,45],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","write","edit"]