[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GXM4256W65YNV042HTXAS8":3,"skill-same:01M6GXM4256W65YNV042HTXAS8":90},{"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":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":63,"ownerDescription":65,"updatedAt":66,"install":67,"resources":79},"01M6GXM4256W65YNV042HTXAS8","design",null,"Generates and maintains a design manifest for visual consistency. In existing projects, reads current styles and documents the design language. In new projects, asks a few questions and generates a starter manifest. The post-edit hook reads the manifest and flags deviations.","SethGammon\u002FCitadel","SethGammon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5523585?v=4","01M6GXJ90FD2CE9QF5GQERWN06","Seth Gammon","01M6GXJ94VXYGK5KAW14EYE901",929,"MIT","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fdesign\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[5,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"style","design language","true","style guide","consistency","hook","questions","starter","styles","post","false","visual","flags","language","guide","edit","projects","manifest","documents","2026-11-10 10:12:30",false,"---\nname: design\nlicense: MIT\ndescription: >-\n  Generates and maintains a design manifest for visual consistency. In existing\n  projects, reads current styles and documents the design language. In new\n  projects, asks a few questions and generates a starter manifest. The post-edit\n  hook reads the manifest and flags deviations.\nuser-invocable: true\nauto-trigger: false\ntrigger_keywords:\n  - design\n  - style guide\n  - design manifest\n  - visual consistency\neffort: medium\n---\n\n# \u002Fdesign — Design Manifest Generator\n\n## When to Use\n\n- At the start of a new project (generate starter manifest from preferences)\n- On an existing project that has no manifest (extract patterns from existing code)\n- When visual inconsistency is noticed (\"why do we have 4 different button styles?\")\n- When \u002Fdo routes \"design\", \"style guide\", \"visual consistency\", \"design manifest\"\n\n## Protocol\n\n### Step 1: DETECT MODE\n\nCheck for existing styles: look for `tailwind.config.*`, global CSS files, or component files with style patterns. If any exist, use Extract Mode. If none exist or the user says \"new project\", use Generate Mode.\n\n### Step 2: GATHER INPUT\n\n**Extract Mode**: Read style sources (tailwind config, global CSS, component files). Present findings to user and confirm before writing.\n\n**Generate Mode**: Ask up to 4 questions about feel, color mode, brand colors, and layout density. Use sensible defaults for anything not specified.\n\n### Step 3: WRITE MANIFEST\n\nWrite to `.planning\u002Fdesign-manifest.md` using the template defined below. Every section must have real values — no placeholders.\n\n### Step 4: CONFIRM\n\nPresent a summary of the manifest to the user: \"Here's your design manifest. It will be used by the post-edit hook to flag deviations. Anything to change?\"\n\n## Modes\n\n### Extract Mode (existing project has styles)\n\n1. Read `tailwind.config.*` — extract colors, spacing, fonts, breakpoints\n2. Read global CSS files — extract CSS variables, base styles\n3. Scan 5-10 component files — values used 3+ times become the palette, scale, type scale, shape language, and elevation scale; note component patterns (card, button, input)\n4. Present findings: \"Here's what I found. Does this look right?\"\n5. Write manifest after user confirms\n\n### Generate Mode (new project or no existing styles)\n\nAsk up to 4 questions: feel (minimal\u002Fplayful\u002Fcorporate\u002Fbold), color mode (dark\u002Flight\u002Fboth), brand colors (hex or \"pick for me\"), layout density. Use sensible defaults for anything not specified.\n\n## The Manifest\n\nWrite to `.planning\u002Fdesign-manifest.md`:\n\n```markdown\n# Design Manifest\n\n> Generated: {date}\n> Mode: {extracted | generated}\n> Source: {tailwind.config.ts, globals.css, etc. | user preferences}\n\n## Colors\n\n### Primary Palette\n- primary: {hex} — {usage: buttons, links, accents}\n- primary-hover: {hex}\n- primary-muted: {hex}\n\n### Neutral Palette\n- background: {hex}\n- surface: {hex} — {cards, modals, elevated elements}\n- border: {hex}\n- text-primary: {hex}\n- text-secondary: {hex}\n- text-muted: {hex}\n\n### Semantic\n- success: {hex}\n- warning: {hex}\n- error: {hex}\n- info: {hex}\n\n## Typography\n\n- font-family: {value}\n- heading-font: {value, or \"same as body\"}\n- Type scale: {xs, sm, base, lg, xl, 2xl, 3xl — with px\u002Frem values}\n- Line heights: {tight, normal, relaxed — with values}\n- Font weights used: {list}\n\n## Spacing\n\n- Base unit: {4px \u002F 0.25rem}\n- Scale: {1, 2, 3, 4, 6, 8, 12, 16, 24 — in base units}\n- Component padding: {standard value}\n- Section gap: {standard value}\n- Page margin: {standard value}\n\n## Shape\n\n- Border radius: {none, sm, md, lg, full — with values}\n- Default radius: {which one is used most}\n- Shadow scale: {sm, md, lg — with values}\n\n## Layout\n\n- Max content width: {value}\n- Breakpoints: {sm, md, lg, xl — with values}\n- Grid\u002Fflex preference: {which is used more}\n- Spacing rhythm: {consistent gaps between sections}\n\n## Component Patterns\n\n{Only populated in extract mode or after the project has components}\n- Button: {padding, radius, font-weight, transition}\n- Card: {padding, radius, shadow, border}\n- Input: {padding, radius, border-color, focus-ring}\n\n## Anti-Patterns (things to flag)\n\n- Colors not in the palette above\n- Font sizes not in the type scale\n- Spacing values not in the spacing scale\n- Border radius values not matching the shape section\n- Hardcoded colors instead of CSS variables or Tailwind classes\n```\n\n## Hook Integration\n\npost-edit.js checks for `.planning\u002Fdesign-manifest.md`. When a CSS\u002FTSX\u002FJSX\u002FTailwind file is edited, it scans for: hardcoded hex colors not in the palette, font sizes outside the type scale, spacing values outside the scale, and border radius values not in the shape section. Warnings only — not blocks. One warning per category per edit.\n\nHook rules: skip entirely if no manifest; scan only the edited file; cache the manifest once per session; do not flag Tailwind utility classes that map to config; only flag raw hex\u002Fpx values.\n\n## Contextual Gates\n\n**Disclosure:** \"Updating design manifest. Existing manifest will be modified.\"\n**Reversibility:** amber — modifies `.planning\u002Fdesign-manifest.md`; undo with `git checkout .planning\u002Fdesign-manifest.md`.\n**Trust gates:**\n- Any: generate or update design manifest.\n- Familiar (5+ sessions): full manifest rewrites that discard existing content.\n\n## Quality Gates\n\n- Every manifest section has real values (not placeholders)\n- Extract mode cites which files the values came from\n- Generate mode defaults are sensible (not random)\n- Anti-patterns section is populated based on the manifest values\n\n## Fringe Cases\n\n**No styles and no preferences:** Default to Generate Mode; use sensible defaults (minimal, light mode, neutral palette); present before writing.\n\n**Tailwind config but no custom theme:** Extract available values (font, breakpoints); note which sections use Tailwind defaults; generate the rest.\n\n**`.planning\u002F` missing:** Create it; if not possible, output manifest inline and instruct user to save it.\n\n**\"Update the manifest\":** Re-run Extract Mode, diff against existing manifest, present only what changed.\n\n## Exit Protocol\n\n```\n---HANDOFF---\n- Design manifest: .planning\u002Fdesign-manifest.md\n- Mode: {extracted | generated}\n- Sources: {files read, or \"user preferences\"}\n- Anti-patterns documented: {count}\n- Next: Post-edit hook will flag deviations automatically\n- Reversibility: amber — undo with `git checkout .planning\u002Fdesign-manifest.md`\n---\n```\n","# \u002Fdesign — Design Manifest Generator\n\n## When to Use\n\n- At the start of a new project (generate starter manifest from preferences)\n- On an existing project that has no manifest (extract patterns from existing code)\n- When visual inconsistency is noticed (\"why do we have 4 different button styles?\")\n- When \u002Fdo routes \"design\", \"style guide\", \"visual consistency\", \"design manifest\"\n\n## Protocol\n\n### Step 1: DETECT MODE\n\nCheck for existing styles: look for `tailwind.config.*`, global CSS files, or component files with style patterns. If any exist, use Extract Mode. If none exist or the user says \"new project\", use Generate Mode.\n\n### Step 2: GATHER INPUT\n\n**Extract Mode**: Read style sources (tailwind config, global CSS, component files). Present findings to user and confirm before writing.\n\n**Generate Mode**: Ask up to 4 questions about feel, color mode, brand colors, and layout density. Use sensible defaults for anything not specified.\n\n### Step 3: WRITE MANIFEST\n\nWrite to `.planning\u002Fdesign-manifest.md` using the template defined below. Every section must have real values — no placeholders.\n\n### Step 4: CONFIRM\n\nPresent a summary of the manifest to the user: \"Here's your design manifest. It will be used by the post-edit hook to flag deviations. Anything to change?\"\n\n## Modes\n\n### Extract Mode (existing project has styles)\n\n1. Read `tailwind.config.*` — extract colors, spacing, fonts, breakpoints\n2. Read global CSS files — extract CSS variables, base styles\n3. Scan 5-10 component files — values used 3+ times become the palette, scale, type scale, shape language, and elevation scale; note component patterns (card, button, input)\n4. Present findings: \"Here's what I found. Does this look right?\"\n5. Write manifest after user confirms\n\n### Generate Mode (new project or no existing styles)\n\nAsk up to 4 questions: feel (minimal\u002Fplayful\u002Fcorporate\u002Fbold), color mode (dark\u002Flight\u002Fboth), brand colors (hex or \"pick for me\"), layout density. Use sensible defaults for anything not specified.\n\n## The Manifest\n\nWrite to `.planning\u002Fdesign-manifest.md`:\n\n```markdown\n# Design Manifest\n\n> Generated: {date}\n> Mode: {extracted | generated}\n> Source: {tailwind.config.ts, globals.css, etc. | user preferences}\n\n## Colors\n\n### Primary Palette\n- primary: {hex} — {usage: buttons, links, accents}\n- primary-hover: {hex}\n- primary-muted: {hex}\n\n### Neutral Palette\n- background: {hex}\n- surface: {hex} — {cards, modals, elevated elements}\n- border: {hex}\n- text-primary: {hex}\n- text-secondary: {hex}\n- text-muted: {hex}\n\n### Semantic\n- success: {hex}\n- warning: {hex}\n- error: {hex}\n- info: {hex}\n\n## Typography\n\n- font-family: {value}\n- heading-font: {value, or \"same as body\"}\n- Type scale: {xs, sm, base, lg, xl, 2xl, 3xl — with px\u002Frem values}\n- Line heights: {tight, normal, relaxed — with values}\n- Font weights used: {list}\n\n## Spacing\n\n- Base unit: {4px \u002F 0.25rem}\n- Scale: {1, 2, 3, 4, 6, 8, 12, 16, 24 — in base units}\n- Component padding: {standard value}\n- Section gap: {standard value}\n- Page margin: {standard value}\n\n## Shape\n\n- Border radius: {none, sm, md, lg, full — with values}\n- Default radius: {which one is used most}\n- Shadow scale: {sm, md, lg — with values}\n\n## Layout\n\n- Max content width: {value}\n- Breakpoints: {sm, md, lg, xl — with values}\n- Grid\u002Fflex preference: {which is used more}\n- Spacing rhythm: {consistent gaps between sections}\n\n## Component Patterns\n\n{Only populated in extract mode or after the project has components}\n- Button: {padding, radius, font-weight, transition}\n- Card: {padding, radius, shadow, border}\n- Input: {padding, radius, border-color, focus-ring}\n\n## Anti-Patterns (things to flag)\n\n- Colors not in the palette above\n- Font sizes not in the type scale\n- Spacing values not in the spacing scale\n- Border radius values not matching the shape section\n- Hardcoded colors instead of CSS variables or Tailwind classes\n```\n\n## Hook Integration\n\npost-edit.js checks for `.planning\u002Fdesign-manifest.md`. When a CSS\u002FTSX\u002FJSX\u002FTailwind file is edited, it scans for: hardcoded hex colors not in the palette, font sizes outside the type scale, spacing values outside the scale, and border radius values not in the shape section. Warnings only — not blocks. One warning per category per edit.\n\nHook rules: skip entirely if no manifest; scan only the edited file; cache the manifest once per session; do not flag Tailwind utility classes that map to config; only flag raw hex\u002Fpx values.\n\n## Contextual Gates\n\n**Disclosure:** \"Updating design manifest. Existing manifest will be modified.\"\n**Reversibility:** amber — modifies `.planning\u002Fdesign-manifest.md`; undo with `git checkout .planning\u002Fdesign-manifest.md`.\n**Trust gates:**\n- Any: generate or update design manifest.\n- Familiar (5+ sessions): full manifest rewrites that discard existing content.\n\n## Quality Gates\n\n- Every manifest section has real values (not placeholders)\n- Extract mode cites which files the values came from\n- Generate mode defaults are sensible (not random)\n- Anti-patterns section is populated based on the manifest values\n\n## Fringe Cases\n\n**No styles and no preferences:** Default to Generate Mode; use sensible defaults (minimal, light mode, neutral palette); present before writing.\n\n**Tailwind config but no custom theme:** Extract available values (font, breakpoints); note which sections use Tailwind defaults; generate the rest.\n\n**`.planning\u002F` missing:** Create it; if not possible, output manifest inline and instruct user to save it.\n\n**\"Update the manifest\":** Re-run Extract Mode, diff against existing manifest, present only what changed.\n\n## Exit Protocol\n\n```\n---HANDOFF---\n- Design manifest: .planning\u002Fdesign-manifest.md\n- Mode: {extracted | generated}\n- Sources: {files read, or \"user preferences\"}\n- Anti-patterns documented: {count}\n- Next: Post-edit hook will flag deviations automatically\n- Reversibility: amber — undo with `git checkout .planning\u002Fdesign-manifest.md`\n---\n```\n",{"name":5,"effort":53,"license":15,"description":7,"auto-trigger":49,"user-invocable":54,"trigger_keywords":55},"medium",true,[5,32,56,57],"design manifest","visual consistency","main","e1a3d45697a0f323aaedcbea0ab6a0387b5fe722","skills\u002Fdesign",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-06 02:04:44",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":54},[69,72,75],{"tool":70,"command":71},"npx","npx skills add SethGammon\u002FCitadel --skill design",{"tool":73,"command":74},"bunx","bunx skills add SethGammon\u002FCitadel --skill design",{"tool":76,"command":77},"pnpm","pnpm dlx skills add SethGammon\u002FCitadel --skill design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fdesign\u002FSKILL.md",[80,86],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"__benchmarks__\u002Fextract-from-codebase.md","REFERENCE","参考文档",903,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fdesign\u002F__benchmarks__\u002Fextract-from-codebase.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"__benchmarks__\u002Fno-existing-styles.md",858,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fdesign\u002F__benchmarks__\u002Fno-existing-styles.md",[91,116,143,167,191,210],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":48},"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",[],[93,98,99,100,101,102,103,104,105,106,107,108,109,39,110,111,112,113,114,115],"repos","snowflake","multi-repo","work","context","campaign","coordinate","but","across","campaigns","shared","as","scope","add","unit","coordinator","fleet","claims",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":125,"publishedAt":48},"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",[122],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[118,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,109,39,141,142],"vector","embeddings","librarian","markdown","knowledge","karpathy","knowledge management","karpathy wiki","up","files","maintain","self","knowledge base","project","db","sources","native",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":48},"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",[],[145,150,151,152,153,154,155,156,157,158,159,160,135,161,162,163,164,165,39,166],"directory","commit","tasks","git","batch","actions","start","sentinel","diff","auto","stop","do","scan","human","judgment","reactions","processing",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":176,"publishedAt":48},"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",[173],{"categoryNo":174,"categoryName":175,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[169,177,178,179,180,181,182,183,184,44,185,186,187,137,188,39,34,189,190,31],"citadel","telemetry","harness","pipeline","Bash","tool","read","write","session","hooks","reports","live","errors","calls",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":48},"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",[],[193,198,177,179,199,200,201,202,203,134,187,204,205,206,207,208,109,39,209,31],"uninstall","adoption","plan","archive","remove","only","Legacy","surfaces","clean","imported","active","material",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":222,"publishedAt":48},"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",[216,219],{"categoryNo":217,"categoryName":218,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":220,"categoryName":221,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[212,223,224,225,226,227,228,229,230,231,232,233,234,235,161,39,236,237,238,31],"code review","review","review pr","pr","code","github issues","issues","open","use","unrelated","issue","general","references","line","investigator","reviews"]