[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GXPCBSWERHQS2K5SMM2FKR":3,"skill-same:01M6GXPCBSWERHQS2K5SMM2FKR":78},{"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":18,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":55,"ownerDescription":57,"updatedAt":58,"install":59,"resources":71},"01M6GXPCBSWERHQS2K5SMM2FKR","merge-review",null,"Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.","SethGammon\u002FCitadel","SethGammon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5523585?v=4","01M6GXJ90FD2CE9QF5GQERWN06","Seth Gammon","01M6GXJ94VXYGK5KAW14EYE901",930,"MIT","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmerge-review\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"merge review","merge","review","branches","fleet","true","reviews","re","false","plans","reconciliation","conflicts","surfaces","queue","check","file","worktree","safe","2026-11-10 10:12:30",false,"---\nname: merge-review\nlicense: MIT\ndescription: >-\n  Reviews pending fleet worktree merges before they're accepted. Reads the\n  merge-check queue, detects file-level conflicts between branches, proposes a\n  safe merge order, and surfaces reconciliation plans for overlapping changes.\nuser-invocable: true\nauto-trigger: false\ntrigger_keywords:\n  - merge review\n  - check merges\n  - any conflicts\n  - fleet conflicts\n  - pending branches\n  - safe to merge\nlast-updated: 2026-03-26\n---\n\n# \u002Fmerge-review — Fleet Merge Arbitration\n\n## Orientation\n\n**Use when:** reviewing pending fleet worktree merges before accepting them into the main branch.\n**Don't use when:** reviewing general code quality (use \u002Freview); checking CI status before merging (use \u002Fpr-watch).\n\n## When to Route Here\n\n- \"check merges\"\n- \"any conflicts\"\n- \"what do the fleet agents want to merge\"\n- \"review the pending branches\"\n- \"is it safe to merge fleet output\"\n- \"arbitrate the worktrees\"\n- worktree-remove.js has queued items and the user wants to process them\n\n## Invocation Forms\n\n```\n\u002Fmerge-review              # Process the full queue\n\u002Fmerge-review {branch}     # Review a specific branch only\n```\n\n## Protocol\n\n### Step 1: Read the Queue\n\nRead `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl`. Each line is a JSON object:\n```json\n{\"branch\": \"fleet\u002Ftask-abc\", \"worktree\": \"\u002Fpath\u002Fto\u002Fworktree\", \"queuedAt\": \"ISO\"}\n```\n\nIf the file doesn't exist or is empty:\n> \"No pending merge reviews. Fleet agents haven't completed any worktrees recently.\"\nStop here.\n\nIf invoked with a specific branch (`\u002Fmerge-review {branch}`): filter to that branch only.\n\n### Step 2: For Each Branch — Gather Diff Data\n\nRun `git diff main..{branch} --name-only`, `--stat`, and `git branch --list {branch}`.\n\nIf the branch no longer exists: mark `status: \"merged\"`, note \"likely already merged. Skipped.\", continue.\n\n### Step 3: Detect Overlapping Files\n\nCompare changed file sets pairwise. For each pair sharing files, read `git diff main..{branch} -- {file}` for both and classify:\n- **Additive**: both add to the file (low risk, likely auto-mergeable)\n- **Overlapping edits**: both modify the same function\u002Fsection (medium risk)\n- **Contradictory**: one adds, the other removes the same code (high risk)\n\n### Step 4: Assess Risk Per Branch\n\nFor each branch:\n- **low** — no overlapping files with other branches\n- **medium** — overlaps exist but changes appear additive or in different sections\n- **high** — overlaps in the same function, class, or closely coupled section\n\n### Step 5: Propose Merge Order\n\nOrder branches: fewest conflicts first, most conflicts last.\n\nIf circular dependencies exist (A conflicts with B, B conflicts with C, C conflicts\nwith A): escalate to the user — do not propose an impossible order.\n\n### Step 6: Output the Report\n\n```\n## Merge Review: {N} branch(es) pending\n\n### Branch: {name}\nFiles changed: {N}\nOverlap with other branches: {branch-X} ({file-list}) | none\nRisk: low | medium | high\nRecommendation: merge | review-first | resolve-conflict\n\n---\n[repeat for each branch]\n---\n\n### Conflicts Detected\n\n{branch-A} and {branch-B} both modified:\n  - {file}: {brief description — e.g., \"A adds export, B removes same export\"}\nRecommended resolution: {which change to keep, or how to combine them}\n\n[repeat for each conflict pair]\n\n### Proposed Merge Order\n\n1. {branch} — no conflicts, safe to merge first\n2. {branch} — depends on #1; review {file} after merging #1\n3. {branch} — manual conflict resolution needed in {file} before merging\n\n### Summary\nBranches ready to merge: {N}\nBranches needing review: {N}\nBranches with hard conflicts: {N}\n```\n\nIf all branches are conflict-free:\n```\n## Merge Review: {N} branch(es) pending — No conflicts detected\n\nAll branches can be merged in any order. Recommended order (by change size, smallest first):\n1. {branch} — {N} files\n2. {branch} — {N} files\n```\n\n### Step 7: Update the Queue\n\nAfter producing the report, mark reviewed items in the queue:\n- Branches still needing work: `status: \"reviewed\"`, add `reviewedAt` timestamp\n- Branches no longer existing: `status: \"merged\"` (already handled in Step 2)\n\nWrite the updated queue back to `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl`.\n\n### Step 8: Cleanup Merged Worktrees\n\nRun `git worktree list --porcelain`. For each non-main worktree: check `git branch --merged HEAD`. If merged and clean: run `git worktree remove \"{path}\" --force` and `git branch -d \"{branch}\"`. No user confirmation needed. Report count: \"Cleaned up {N} merged worktree(s): {branch-names}\".\n\n---\n\n## Fringe Cases\n\n**Queue empty:** Output \"No pending merge reviews.\" and stop.\n\n**Branch no longer exists:** Remove from queue, note, continue.\n\n**Branch not in queue:** Note \"not in the merge queue\" and suggest `\u002Fmerge-review` to see all.\n\n**All branches conflict (circular):** List all conflicts; do not propose an order; escalate to user.\n\n**One branch pending:** Skip conflict detection; output single-branch review (files, stat, recommendation).\n\n**Large diff (>500 lines):** Summarize changed areas; link to `git diff` command for details.\n\n**Worktree path missing but branch exists:** Proceed with git diff using branch name; worktree existence not required.\n\n---\n\n## Integration Points\n\n- **worktree-remove.js** — queues items to `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl` when a fleet worktree completes\n- **fleet skill** — run `\u002Fmerge-review` after fleet agents complete, before merging to main\n- **session-end.js** — may surface a reminder if the merge queue has items at session end\n\n## Contextual Gates\n\n**Disclosure:** \"Reviewing pending fleet worktree merges. Read-only — no changes applied.\"\n**Reversibility:** green — read-only review; no files merged or modified\n**Trust gates:**\n- Any: view merge review report and recommendations\n\n## Quality Gates\n\n- Never merge branches — only analyze and recommend\n- Always update the queue after processing (mark reviewed\u002Fmerged)\n- Always provide a concrete recommendation for each branch (merge \u002F review-first \u002F resolve-conflict)\n- If a branch was already merged, clean it from the queue without error\n- If all conflicts are circular\u002Funresolvable, escalate clearly rather than proposing an impossible order\n\n## Exit Protocol\n\n\u002Fmerge-review does not produce a HANDOFF block. It outputs the merge report (Step 6) and then\nwaits for the next user command.\n\nAfter the report, suggest next actions based on what was found:\n- If all branches are safe: \"All clear. Merge in the order above.\"\n- If conflicts exist: \"Resolve the flagged conflicts before merging. Run `\u002Fmerge-review` again after resolving.\"\n- If queue is empty: \"Queue is empty. Nothing to review.\"\n","# \u002Fmerge-review — Fleet Merge Arbitration\n\n## Orientation\n\n**Use when:** reviewing pending fleet worktree merges before accepting them into the main branch.\n**Don't use when:** reviewing general code quality (use \u002Freview); checking CI status before merging (use \u002Fpr-watch).\n\n## When to Route Here\n\n- \"check merges\"\n- \"any conflicts\"\n- \"what do the fleet agents want to merge\"\n- \"review the pending branches\"\n- \"is it safe to merge fleet output\"\n- \"arbitrate the worktrees\"\n- worktree-remove.js has queued items and the user wants to process them\n\n## Invocation Forms\n\n```\n\u002Fmerge-review              # Process the full queue\n\u002Fmerge-review {branch}     # Review a specific branch only\n```\n\n## Protocol\n\n### Step 1: Read the Queue\n\nRead `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl`. Each line is a JSON object:\n```json\n{\"branch\": \"fleet\u002Ftask-abc\", \"worktree\": \"\u002Fpath\u002Fto\u002Fworktree\", \"queuedAt\": \"ISO\"}\n```\n\nIf the file doesn't exist or is empty:\n> \"No pending merge reviews. Fleet agents haven't completed any worktrees recently.\"\nStop here.\n\nIf invoked with a specific branch (`\u002Fmerge-review {branch}`): filter to that branch only.\n\n### Step 2: For Each Branch — Gather Diff Data\n\nRun `git diff main..{branch} --name-only`, `--stat`, and `git branch --list {branch}`.\n\nIf the branch no longer exists: mark `status: \"merged\"`, note \"likely already merged. Skipped.\", continue.\n\n### Step 3: Detect Overlapping Files\n\nCompare changed file sets pairwise. For each pair sharing files, read `git diff main..{branch} -- {file}` for both and classify:\n- **Additive**: both add to the file (low risk, likely auto-mergeable)\n- **Overlapping edits**: both modify the same function\u002Fsection (medium risk)\n- **Contradictory**: one adds, the other removes the same code (high risk)\n\n### Step 4: Assess Risk Per Branch\n\nFor each branch:\n- **low** — no overlapping files with other branches\n- **medium** — overlaps exist but changes appear additive or in different sections\n- **high** — overlaps in the same function, class, or closely coupled section\n\n### Step 5: Propose Merge Order\n\nOrder branches: fewest conflicts first, most conflicts last.\n\nIf circular dependencies exist (A conflicts with B, B conflicts with C, C conflicts\nwith A): escalate to the user — do not propose an impossible order.\n\n### Step 6: Output the Report\n\n```\n## Merge Review: {N} branch(es) pending\n\n### Branch: {name}\nFiles changed: {N}\nOverlap with other branches: {branch-X} ({file-list}) | none\nRisk: low | medium | high\nRecommendation: merge | review-first | resolve-conflict\n\n---\n[repeat for each branch]\n---\n\n### Conflicts Detected\n\n{branch-A} and {branch-B} both modified:\n  - {file}: {brief description — e.g., \"A adds export, B removes same export\"}\nRecommended resolution: {which change to keep, or how to combine them}\n\n[repeat for each conflict pair]\n\n### Proposed Merge Order\n\n1. {branch} — no conflicts, safe to merge first\n2. {branch} — depends on #1; review {file} after merging #1\n3. {branch} — manual conflict resolution needed in {file} before merging\n\n### Summary\nBranches ready to merge: {N}\nBranches needing review: {N}\nBranches with hard conflicts: {N}\n```\n\nIf all branches are conflict-free:\n```\n## Merge Review: {N} branch(es) pending — No conflicts detected\n\nAll branches can be merged in any order. Recommended order (by change size, smallest first):\n1. {branch} — {N} files\n2. {branch} — {N} files\n```\n\n### Step 7: Update the Queue\n\nAfter producing the report, mark reviewed items in the queue:\n- Branches still needing work: `status: \"reviewed\"`, add `reviewedAt` timestamp\n- Branches no longer existing: `status: \"merged\"` (already handled in Step 2)\n\nWrite the updated queue back to `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl`.\n\n### Step 8: Cleanup Merged Worktrees\n\nRun `git worktree list --porcelain`. For each non-main worktree: check `git branch --merged HEAD`. If merged and clean: run `git worktree remove \"{path}\" --force` and `git branch -d \"{branch}\"`. No user confirmation needed. Report count: \"Cleaned up {N} merged worktree(s): {branch-names}\".\n\n---\n\n## Fringe Cases\n\n**Queue empty:** Output \"No pending merge reviews.\" and stop.\n\n**Branch no longer exists:** Remove from queue, note, continue.\n\n**Branch not in queue:** Note \"not in the merge queue\" and suggest `\u002Fmerge-review` to see all.\n\n**All branches conflict (circular):** List all conflicts; do not propose an order; escalate to user.\n\n**One branch pending:** Skip conflict detection; output single-branch review (files, stat, recommendation).\n\n**Large diff (>500 lines):** Summarize changed areas; link to `git diff` command for details.\n\n**Worktree path missing but branch exists:** Proceed with git diff using branch name; worktree existence not required.\n\n---\n\n## Integration Points\n\n- **worktree-remove.js** — queues items to `.planning\u002Ftelemetry\u002Fmerge-check-queue.jsonl` when a fleet worktree completes\n- **fleet skill** — run `\u002Fmerge-review` after fleet agents complete, before merging to main\n- **session-end.js** — may surface a reminder if the merge queue has items at session end\n\n## Contextual Gates\n\n**Disclosure:** \"Reviewing pending fleet worktree merges. Read-only — no changes applied.\"\n**Reversibility:** green — read-only review; no files merged or modified\n**Trust gates:**\n- Any: view merge review report and recommendations\n\n## Quality Gates\n\n- Never merge branches — only analyze and recommend\n- Always update the queue after processing (mark reviewed\u002Fmerged)\n- Always provide a concrete recommendation for each branch (merge \u002F review-first \u002F resolve-conflict)\n- If a branch was already merged, clean it from the queue without error\n- If all conflicts are circular\u002Funresolvable, escalate clearly rather than proposing an impossible order\n\n## Exit Protocol\n\n\u002Fmerge-review does not produce a HANDOFF block. It outputs the merge report (Step 6) and then\nwaits for the next user command.\n\nAfter the report, suggest next actions based on what was found:\n- If all branches are safe: \"All clear. Merge in the order above.\"\n- If conflicts exist: \"Resolve the flagged conflicts before merging. Run `\u002Fmerge-review` again after resolving.\"\n- If queue is empty: \"Queue is empty. Nothing to review.\"\n",{"name":5,"license":15,"description":7,"auto-trigger":38,"last-updated":42,"user-invocable":43,"trigger_keywords":44},1774483200000,true,[19,45,46,47,48,49],"check merges","any conflicts","fleet conflicts","pending branches","safe to merge","main","e1a3d45697a0f323aaedcbea0ab6a0387b5fe722","skills\u002Fmerge-review",84,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel","https:\u002F\u002Fsethgammon.github.io\u002FCitadel\u002F","https:\u002F\u002Fgithub.com\u002FSethGammon","Building Citadel, the repo-local operating layer for Claude Code and Codex. Persistent work, routing, verification, and coordinated agent fleets.","2026-11-13 02:05:13",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":43},[61,64,67],{"tool":62,"command":63},"npx","npx skills add SethGammon\u002FCitadel --skill merge-review",{"tool":65,"command":66},"bunx","bunx skills add SethGammon\u002FCitadel --skill merge-review",{"tool":68,"command":69},"pnpm","pnpm dlx skills add SethGammon\u002FCitadel --skill merge-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmerge-review\u002FSKILL.md",[72],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"__benchmarks__\u002Fempty-queue.md","REFERENCE","参考文档",846,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmerge-review\u002F__benchmarks__\u002Fempty-queue.md",[79,103,132,156,182,200],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":37},"01M6GXSBKE9A2HQWF8QRAZ4WJ5","workspace","Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fworkspace\u002FSKILL.md",[],[81,86,87,88,89,90,91,92,93,94,95,96,97,27,98,99,100,101,23,102],"repos","snowflake","multi-repo","work","context","campaign","coordinate","but","across","campaigns","shared","as","scope","add","unit","coordinator","claims",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":37},"01M6GXS873AD1Y6RTM6GV47F3E","wiki","Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to ~400K words.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fwiki\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[105,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,97,27,130,131],"vector","embeddings","librarian","markdown","knowledge","karpathy","knowledge management","karpathy wiki","up","files","maintain","self","knowledge base","project","db","sources","native",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":37},"01M6GXS2840SJ61285SZ43EJC3","watch","File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through \u002Fdo. Use for automatic reactions to file changes; do NOT use for one-off inspection or tasks needing human judgment per file.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fwatch\u002FSKILL.md",[],[134,139,140,141,142,143,144,145,146,147,148,149,124,150,151,152,153,154,27,155],"directory","commit","tasks","git","batch","actions","start","sentinel","diff","auto","stop","do","scan","human","judgment","reactions","processing",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":165,"publishedAt":37},"01M6GXRXHYJ5RD9RZP81S2VFSW","verify","Self-test the Citadel hook pipeline from within a live session. Exercises real tool calls (Write, Edit, Bash, Read) and checks that hooks fired, telemetry accumulated, and no errors occurred. Reports HOOK HEALTH: PASS or HOOK HEALTH: FAIL with a per-hook breakdown.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fverify\u002FSKILL.md",[162],{"categoryNo":163,"categoryName":164,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000008","测试与质量",[158,166,167,168,169,170,171,172,173,174,175,176,177,126,178,27,179,180,181,24],"citadel","telemetry","harness","pipeline","Bash","tool","read","write","edit","session","hooks","reports","live","hook","errors","calls",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":37},"01M6GXRS9MCJFMQZ917H2XH3AC","unharness","Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Funharness\u002FSKILL.md",[],[184,189,166,168,190,191,192,193,194,123,177,195,31,196,197,198,97,27,199,24],"uninstall","adoption","plan","archive","remove","only","Legacy","clean","imported","active","material",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":214,"publishedAt":37},"01M6GXRMEJ2VHD43R9FNPD4910","triage","GitHub issue and PR investigator. Pulls open issues\u002FPRs, classifies them, searches the codebase for root cause or reviews contributed code, proposes fixes with file:line references, and optionally implements fixes. Use for investigating GitHub issues and reviewing PRs; do NOT use for general code review unrelated to GitHub issues.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Ftriage\u002FSKILL.md",[206,209],{"categoryNo":207,"categoryName":208,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":210,"categoryName":211,"taxonomyType":212,"taxonomyTypeDesc":213},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[202,215,21,216,217,218,219,220,221,222,223,224,225,226,150,27,227,228,25,24],"code review","review pr","pr","code","github issues","issues","open","use","unrelated","issue","general","references","line","investigator"]