[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C284FZRX7ZDVHBA12MTYJV":3,"skill-same:01M6C284FZRX7ZDVHBA12MTYJV":69},{"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":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6C284FZRX7ZDVHBA12MTYJV","luna",null,"Audit and review open, non-draft PRs unmodified for >8 hours using codexl (GPT-6 Luna) and pil (DeepSeek-4.1-flash). Diagnoses CI failures, merge conflicts, missing evidence, and outputs actionable fix plans.","jleechanorg\u002Fjleechan-skills","jleechanorg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F221404966?v=4","01M6C1VJ99XG950X1DWPEBCBGX","01M6C1VJDK5YVDNT3362RT5WSB",6,"MIT","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fluna\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"gpt-6","draft","deepseek","merge conflicts","plans","outputs","prs","missing","for","evidence","conflicts","actionable","review","flash","open","ci","fix","merge","audit","2026-11-10 10:12:30",false,"---\nname: luna\ndescription: \"Audit and review open, non-draft PRs unmodified for >8 hours using codexl (GPT-6 Luna) and pil (DeepSeek-4.1-flash). Diagnoses CI failures, merge conflicts, missing evidence, and outputs actionable fix plans.\"\n---\n\n# \u002Fluna: Automated Stale PR Review & Remediation Skill\n\nThe `\u002Fluna` skill orchestrates automated reviews of open, non-draft pull requests that have stalled or remained unmodified for 8 or more hours. It uses a tri-engine architecture:\n- **`codexl`** (`codex-luna`, OpenAI native `gpt-6-luna` with high reasoning effort): For deep architectural analysis, test-harness failures, state-machine logic, and complex multi-file reviews where 80%+ prompt caching hit rates and deep reasoning are essential.\n- **`pil`** (`pi --provider lunaroute --model deepseek-4.1-flash`): For rapid diagnostic passes, diff scanning, lint verification, and fast triage using DeepSeek V4 Flash with zero CLI initialization overhead.\n- **`pig`** (`pi --provider lunaroute --model glm-5.3`): For long-horizon agentic task planning, tool recovery, and GLM-5.3 semantic evaluations.\n\n---\n\n## When to Use\n\n- When auditing stale open PRs to determine what fixes, rebases, or evidence updates are required.\n- When unblocking CI failures on PRs that haven't been touched in over 8 hours.\n- When checking merge readiness, conflicts with `origin\u002Fmain`, and evidence compliance (`\u002Fes`, `\u002Fer`).\n\n---\n\n## Workflow\n\n### Step 1: Scan and Categorize Stale Open Non-Draft PRs\n\nRun the `\u002Fluna` automated audit script:\n\n```bash\n~\u002F.claude\u002Fskills\u002Fluna\u002Fscripts\u002Faudit_prs.py\n```\n\nThe target repository is `--repo \u003Cowner>\u002F\u003Crepo>`, else `$GITHUB_REPOSITORY`, else the\nrepository `gh repo view` resolves from the current directory; with none of these the\nscript exits non-zero naming `GITHUB_REPOSITORY`.\n\nThis immediately parses all open non-draft PRs older than 8 hours, evaluates their CI status via GitHub check rollups and mergeability in parallel, and categorizes them into:\n1. **CI Failed**: Dispatches `codexl` for test failure diagnosis.\n2. **Conflicting \u002F Dirty**: Flags for rebase onto `origin\u002Fmain` via `\u002Ffixpr`.\n3. **Clean & Green**: Lists PRs awaiting final evidence signoff or operator `MERGE APPROVED`.\n\nTo review a specific PR immediately with ultra-fast triage:\n```bash\n~\u002F.claude\u002Fskills\u002Fluna\u002Fscripts\u002Faudit_prs.py --review \u003CPR_NUMBER>\n```\n\n### Step 2: Tri-Engine Specialized Reviews\n\n#### A. Fast Diagnostic Pass (`pil`) with `-nc`\nFor checking diff size, syntax, and basic rule conformance with zero context bloat (\u003C2s latency):\n```bash\ngh pr diff \u003CPR_NUMBER> | pil -nc -p \"Review this diff against main. Identify any obvious syntax errors, unreceipted deltas, or missing test coverage.\"\n```\n\n#### B. Agentic Tool & Planning Review (`pig`)\nFor complex tool chains, multi-step migration plans, or SWE-bench level task execution:\n```bash\npig -p \"Analyze the planned migration in PR #\u003CPR_NUMBER>. Verify whether all required tool definitions and error-recovery paths are addressed.\"\n```\n\n#### C. Deep Architectural \u002F Harness Review (`codexl`)\nFor investigating broken CI tests, complex state machine bugs, or prompt\u002Fschema coupling where 80%+ cache hit rate and deep reasoning are essential:\n```bash\ncodexl \"Review PR #\u003CPR_NUMBER> on branch \u003CBRANCH>. Inspect the failing CI tests from GitHub checks. Diagnose the root cause and propose the exact minimal patch to resolve it.\"\n```\n\n### Step 4: Generate Actionable Fix Roadmap\n\nFor every audited PR, output a structured summary table:\n\n| PR # | Title | Stale Age | CI Status | Mergeable | Primary Blocker | Recommended Action | Engine |\n|---|---|---|---|---|---|---|---|\n| #1234 | fix: \u003Ctitle>... | 28h | ❌ Failed | CONFLICT | CI test failure & rebase needed | Rebase on main, fix exception mapping | `codexl` |\n\nEach item must specify:\n1. **Root Cause**: Why the PR stalled or failed.\n2. **Immediate Next Step**: Exact shell commands to checkout, reproduce, fix, and verify.\n3. **Verification Command**: Exact test or check required to confirm green.\n\n---\n\n## Tooling Invariants\n\n1. **`codexl` Resolution**: Always maps to `codex-luna` (`codex --yolo --search -m gpt-6-luna --config model_reasoning_effort=high`).\n2. **`pil` Resolution**: Uses LunaRoute gateway `deepseek-4.1-flash` (`pi --provider lunaroute --model deepseek-4.1-flash`).\n3. **Evidence Hygiene**: All review artifacts and logs must be stored under the canonical scratch directory via `\"$(~\u002F.claude\u002Fskills\u002Fscratch-space\u002Fscripts\u002Fscratch-dir.sh \"\u003Crepo-name>\u002Fluna-reviews\")\"`, where `\u003Crepo-name>` is the name part of the target `owner\u002Frepo` (referencing `~\u002F.claude\u002Fskills\u002Fscratch-space\u002FSKILL.md`). Never litter repository workspaces.\n4. **Absolute Paths**: Always cite full absolute paths for modified or inspected files.\n","# \u002Fluna: Automated Stale PR Review & Remediation Skill\n\nThe `\u002Fluna` skill orchestrates automated reviews of open, non-draft pull requests that have stalled or remained unmodified for 8 or more hours. It uses a tri-engine architecture:\n- **`codexl`** (`codex-luna`, OpenAI native `gpt-6-luna` with high reasoning effort): For deep architectural analysis, test-harness failures, state-machine logic, and complex multi-file reviews where 80%+ prompt caching hit rates and deep reasoning are essential.\n- **`pil`** (`pi --provider lunaroute --model deepseek-4.1-flash`): For rapid diagnostic passes, diff scanning, lint verification, and fast triage using DeepSeek V4 Flash with zero CLI initialization overhead.\n- **`pig`** (`pi --provider lunaroute --model glm-5.3`): For long-horizon agentic task planning, tool recovery, and GLM-5.3 semantic evaluations.\n\n---\n\n## When to Use\n\n- When auditing stale open PRs to determine what fixes, rebases, or evidence updates are required.\n- When unblocking CI failures on PRs that haven't been touched in over 8 hours.\n- When checking merge readiness, conflicts with `origin\u002Fmain`, and evidence compliance (`\u002Fes`, `\u002Fer`).\n\n---\n\n## Workflow\n\n### Step 1: Scan and Categorize Stale Open Non-Draft PRs\n\nRun the `\u002Fluna` automated audit script:\n\n```bash\n~\u002F.claude\u002Fskills\u002Fluna\u002Fscripts\u002Faudit_prs.py\n```\n\nThe target repository is `--repo \u003Cowner>\u002F\u003Crepo>`, else `$GITHUB_REPOSITORY`, else the\nrepository `gh repo view` resolves from the current directory; with none of these the\nscript exits non-zero naming `GITHUB_REPOSITORY`.\n\nThis immediately parses all open non-draft PRs older than 8 hours, evaluates their CI status via GitHub check rollups and mergeability in parallel, and categorizes them into:\n1. **CI Failed**: Dispatches `codexl` for test failure diagnosis.\n2. **Conflicting \u002F Dirty**: Flags for rebase onto `origin\u002Fmain` via `\u002Ffixpr`.\n3. **Clean & Green**: Lists PRs awaiting final evidence signoff or operator `MERGE APPROVED`.\n\nTo review a specific PR immediately with ultra-fast triage:\n```bash\n~\u002F.claude\u002Fskills\u002Fluna\u002Fscripts\u002Faudit_prs.py --review \u003CPR_NUMBER>\n```\n\n### Step 2: Tri-Engine Specialized Reviews\n\n#### A. Fast Diagnostic Pass (`pil`) with `-nc`\nFor checking diff size, syntax, and basic rule conformance with zero context bloat (\u003C2s latency):\n```bash\ngh pr diff \u003CPR_NUMBER> | pil -nc -p \"Review this diff against main. Identify any obvious syntax errors, unreceipted deltas, or missing test coverage.\"\n```\n\n#### B. Agentic Tool & Planning Review (`pig`)\nFor complex tool chains, multi-step migration plans, or SWE-bench level task execution:\n```bash\npig -p \"Analyze the planned migration in PR #\u003CPR_NUMBER>. Verify whether all required tool definitions and error-recovery paths are addressed.\"\n```\n\n#### C. Deep Architectural \u002F Harness Review (`codexl`)\nFor investigating broken CI tests, complex state machine bugs, or prompt\u002Fschema coupling where 80%+ cache hit rate and deep reasoning are essential:\n```bash\ncodexl \"Review PR #\u003CPR_NUMBER> on branch \u003CBRANCH>. Inspect the failing CI tests from GitHub checks. Diagnose the root cause and propose the exact minimal patch to resolve it.\"\n```\n\n### Step 4: Generate Actionable Fix Roadmap\n\nFor every audited PR, output a structured summary table:\n\n| PR # | Title | Stale Age | CI Status | Mergeable | Primary Blocker | Recommended Action | Engine |\n|---|---|---|---|---|---|---|---|\n| #1234 | fix: \u003Ctitle>... | 28h | ❌ Failed | CONFLICT | CI test failure & rebase needed | Rebase on main, fix exception mapping | `codexl` |\n\nEach item must specify:\n1. **Root Cause**: Why the PR stalled or failed.\n2. **Immediate Next Step**: Exact shell commands to checkout, reproduce, fix, and verify.\n3. **Verification Command**: Exact test or check required to confirm green.\n\n---\n\n## Tooling Invariants\n\n1. **`codexl` Resolution**: Always maps to `codex-luna` (`codex --yolo --search -m gpt-6-luna --config model_reasoning_effort=high`).\n2. **`pil` Resolution**: Uses LunaRoute gateway `deepseek-4.1-flash` (`pi --provider lunaroute --model deepseek-4.1-flash`).\n3. **Evidence Hygiene**: All review artifacts and logs must be stored under the canonical scratch directory via `\"$(~\u002F.claude\u002Fskills\u002Fscratch-space\u002Fscripts\u002Fscratch-dir.sh \"\u003Crepo-name>\u002Fluna-reviews\")\"`, where `\u003Crepo-name>` is the name part of the target `owner\u002Frepo` (referencing `~\u002F.claude\u002Fskills\u002Fscratch-space\u002FSKILL.md`). Never litter repository workspaces.\n4. **Absolute Paths**: Always cite full absolute paths for modified or inspected files.\n",{"name":5,"description":7},"main","8144f00ebafc4306264c63239e4b9fa42e48a90e",".claude\u002Fskills\u002Fluna",0,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills","https:\u002F\u002Fgithub.com\u002Fjleechanorg","2026-11-14 03:18:13",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add jleechanorg\u002Fjleechan-skills --skill luna",{"tool":55,"command":56},"bunx","bunx skills add jleechanorg\u002Fjleechan-skills --skill luna",{"tool":58,"command":59},"pnpm","pnpm dlx skills add jleechanorg\u002Fjleechan-skills --skill luna","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fluna\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"scripts\u002Faudit_prs.py","SCRIPT","脚本",18739,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fluna\u002Fscripts\u002Faudit_prs.py",[70,88,109,123,137,153],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":37},"01M716Y5MTJ6GYJZ2ATXCJK8G4","instinct","Use when the user invokes \u002Finstinct or \u002Fin, or asks to \"message Instinct\", \"ask Instinct\", \"tell Instinct\", \"check Instinct\", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Finstinct\u002FSKILL.md",[],[72,77,78,79,80,81,82,83,84,85,86,87],"user","when","replies","check","use","identity","whatsapp","gmail","read","message","ask",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":99,"publishedAt":37},"01M716Y4HF7FVVMJSA2CCVN5VF","hr","Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhr\u002FSKILL.md",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[90,100,101,102,26,103,104,105,106,107,108],"resume","compatibility","provenance","history","produce","alias","briefing","state","fresh",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":37},"01M716Y1FFNFKFJYYKF8HQA6T8","history-resume","Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhistory-resume\u002FSKILL.md",[115],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},[103,100,117,118,77,119,106,120,26,121,122,107,108],"history resume","branch","analysis","repository","worktree","sources",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":37},"01M716XWXJ8EPHK4RH9T14TR85","grok","Alias for the canonical grokbot browser conversation workflow; \u002Fgrok talks to the Grok bot the same way \u002Fdot talks to Dot.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgrok\u002FSKILL.md",[],[125,130,131,132,26,133,105,134,135,136],"dot","bot","workflow","canonical","conversation","browser","grokbot",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":37},"01M70N9Q07DTE0EW5KFXMMMSJ0","codexa-bench","Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcodexa-bench\u002FSKILL.md",[],[144,145,146,81,147,26,148,149,150,151,152],"codexa bench","work","split","default","duplicate","task","compare","normal","codex",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":157,"licenseFileUrl":158,"sourceHtmlUrl":159,"categories":160,"keywords":172,"publishedAt":37},"01M6C24S2X60SP8BBFGAEKPEGW","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[161,166,169],{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":167,"categoryName":168,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":170,"categoryName":171,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000032","设计师",[173,174,175,81,176,177,178,77,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,78,197],"frontend","design","frontend design","generic","ui design","react","html","components","code","artifacts","ui","aesthetics","Production","web components","landing","applications","quality","web","css","create","examples","with","react components","web ui","pages"]