skills/repo-bug-audit/SKILL.md
Use when asked to find Bugs, audit or review a repository, scan code for security/reliability/architecture risks, inspect a folder of many repos, produce evidence-backed Bug reports, continue a prior audit, or compare/triage candidate findings.
npx skillsauth add aiden0z/skills repo-bug-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
IRON LAW: Do not submit a Bug unless code evidence, trigger path, realistic failure mode, and impact are all explicit.
IRON LAW: Do not write final deliverables from memory or embedded prose. Every shard summary, candidate note, Bug record, and knowledge doc must trace back to either (a) exploration evidence gathered repo-by-repo, or (b) a named Agent's exploration report converted deterministically. Scripts may render indexes, HTML, and images from existing evidence. See references/shard-schema.md for format and references/multi-repo-strategy.md for Agent output conversion rules.
Find evidence-backed Bugs and architecture risk signals across one or more repositories, then package the results so developers or later Agents can review, reproduce, triage, and fix them safely.
This skill is review-first. Do not patch code unless the user explicitly asks for fixes after the analysis.
Use all available codebase knowledge to understand each audited repo first, then maximize credible Bug discovery through evidence-backed hypotheses, call-chain tracing, refutation, and triage.
The workflow exists to prove real repo understanding, not to fill forms. Prefer honest gaps and parked leads over template-complete shallow coverage.
When context is tight, keep these six rules active:
in-progress, focused, or explicitly uncertain instead of filling forms.repo-scan-roots.txt; generated audit output and historical packages are never source roots.When rules appear to conflict, resolve them in this order:
If the requested depth cannot be met in the current run, do not skip gates or relabel the work silently. Keep the requested intent in submission-scope.md, classify delivered coverage honestly in depth-coverage.md, and ask for or record a user-accepted downgrade before final report assets.
references/exploration-methodology.md before dispatching agents. The exploration loop is: pick a surface → trace input to state → trace state to side effect → find a sibling implementation → compare. Grep is a starting point, not the hunt.repo-scan-roots.txt. You know what dangerous code looks like in each language — apply your own judgment about what patterns to scan for.references/authenticity.md. "Insufficient evidence" is an acceptable answer; made-up evidence is not.candidates.md must include file:line references. The validator checks these paths exist.references/multi-repo-strategy.md.depth-coverage.md must list every repo with real candidate counts and coverage classification. Never claim "deep complete" unless the validator confirms it.discover_repositories.py before any exploration. Scan only against repo-scan-roots.txt.run_high_recall_scan.py --patterns-file <llm-patterns.json>.submit/knowledge/repo-profiles/<repo>.md. Update from shard evidence after exploration.work/shards/<repo>/ per repo with shard-summary.json and candidates.md. Parallel agents write repo-local outputs; coordinator consolidates global outputs.quality/issue-family-coverage.md from the fresh scan. See references/issue-family-coverage.md.Every interaction rule in this skill and its references is anchored to one of these three modes. When you read "interactive mode" / "automatic mode" / "checkpointed mode" anywhere in this skill, use the definitions below.
Mode detection — automatic mode requires an EXPLICIT, UNAMBIGUOUS signal, not a casual mention of "auto" or its localized equivalents:
| Mode | Pause for clarification? | Pause for optional companion skills? | Pause for image / scope / analyst decisions? |
|---|---|---|---|
| interactive (default) | Yes — pause when the answer materially changes safety, scope, or final package semantics. | Yes — pause once per high-value skill at the phase named in references/related-skills.md → "When to Ask (Per-Phase Trigger Table)". | Scope / analyst: yes when user-affecting. Overview image: do not pause at kickoff; mention once and ask only after the validated handoff if it was not already requested. |
| automatic (explicit signal only) | No — never pause. Infer safe defaults and record every assumption in submit/quality/submission-scope.md. | No — never prompt for installation. Record skipped recommendations under a skipped recommended skills note in submission-scope.md. | No — apply safe defaults and record them in submission-scope.md. |
| checkpointed (user requested checkpoints, step-by-step confirmation, or this is a resume) | Yes at declared checkpoints only — phase boundaries by default; otherwise behave like interactive within each chunk. | On resume: do NOT re-prompt for skills already declined in submission-scope.md. Otherwise behave like interactive. | Read submission-scope.md first; do not re-ask decisions already recorded there. |
A decision is user-affecting (and therefore subject to the table above) when it changes any of: audit branch, knowledge file count, Bug priority on a P1/P2 finding, or analyst identity displayed in deliverables. Pure formatting, file-naming, optional overview image timing, or workspace-layout choices are NOT user-affecting — apply safe defaults silently.
These modes control how thoroughly each repo is explored. They are independent of the interaction mode (interactive/automatic/checkpointed).
| Mode | Repos per Session | Per-Repo Depth | Validator Flag |
|---|---|---|---|
| deep | 1-10 | Full call-chain tracing, exhaustive seed triage, complete hypothesis loops. Parallel Agents handle up to 10 repos in one session. | --coverage-mode deep (default) |
| batch-first-pass | 11-25 | AI-led surface mapping + representative seed triage + evidence-backed candidates. Session 1 finds the hot spots; Session 2 deepens them. | --coverage-mode batch-first-pass |
| focused | 1-5 specific repos within a larger group | Deep on selected repos, zero-finding rationale for rest | --coverage-mode deep |
| lightweight | 1-25 | Pattern scan only, no shard evidence required | No shard validation |
In interactive mode, when the roster has 11 or more repos with source code and the user requests deep/full coverage, recommend splitting into 2 sessions. Read references/multi-repo-strategy.md for the full strategy.
Present a single yes/no question:
"This group has N repos. A single deep scan would be shallow per repo. Split into M sessions? Session 1: first-pass all repos. Session 2: deepen high-risk ones."
In automatic mode, default to batch-first-pass for 10+ repo groups and record the choice in submission-scope.md.
references/multi-repo-strategy.md and references/shard-schema.md before starting.references/multi-repo-strategy.md → "Agent Output Conversion" for safe vs. unsafe patterns.--coverage-mode batch-first-pass for relaxed schema requirements.candidates.md must still have one evidence-bearing bullet per candidate with path:line anchors.Use this mode before scanning when analysis intent needs design, not just execution.
Do not enter this mode just because a repository group is large — for 11+ repos, simply recommend splitting per references/multi-repo-strategy.md and proceed. Enter this mode only when a decision cannot be safely inferred and materially changes scope, risk classification, package format, or user-facing commitments.
Trigger it for:
$brainstorming or asks to think, discuss, or design the audit flow before scanning.In this mode:
references/deep-discussion.md.brainstorming skill is available, use it to discuss scope, tradeoffs, and deliverable design.For mode-dependent behavior (companion skills, image kickoff, branch confirmation, analyst, automatic-mode defaults), see Run Modes above and the per-domain references. The rules below cover only mode-independent interaction discipline:
op7418/humanizer-zh@humanizer-zh); do not enumerate every companion skill.work/ scratch content unless it affects a user decision or the user asks for candidates.Set audit charter ⚠️ REQUIRED
quality/submission-scope.md: deep, full, per-repo-deep, first-pass, focused, lightweight, or custom. If the user asks for "deep", "full", "complete", "尽可能", "每个 repo", or similar wording, this remains the requested deep/full intent until the user accepts a downgrade. Do not rewrite requested intent to first-pass just to generate final assets; record delivered coverage separately in quality/depth-coverage.md.references/metadata.md.references/package-output.md: requested, recommended, omitted, or deferred-post-handoff. In interactive mode, mention once when audit-overview.png is recommended, but do not stop for a yes/no kickoff question. If the user does not explicitly request or decline it, record deferred-post-handoff and continue. In automatic mode, apply the default in package-output.md and record it in submission-scope.md.bug-audit-report.html differently from the overview image: it is generated by default for final handoff/report/dashboard packages and does not need a kickoff question. Skip it only for lightweight scans, candidate-only studies, narrow single-Bug reviews, or an explicit no-HTML request.submit/ for final files and work/ for temporary artifacts.references/resume-audit.md before changing findings.*/submit/findings/*.md, *bug-audit*, or previous output roots). Treat them as comparison baselines, not code targets and not scaffolding: do not copy their findings, IDs, profiles, indexes, or report structure into a fresh audit. After the independent scan, review them for omitted issue families and record reviewed or excluded status in submission-scope.md and depth-coverage.md.submit/quality/submission-scope.md (automatic), using the final deliverable language. Format in English: Scope: <repos> · Branch: <branch> · Output: <path> · Image: <included|omitted|deferred-post-handoff>. This is a report, not a confirmation prompt — do not ask "proceed?".Initialize workspace ⛔ BLOCKING
scripts/init_bug_workspace.py through Python explicitly to create the output skeleton.references/package-output.md for directory and packaging conventions.references/shard-schema.md. Read that reference once now so field names and enum values are known before exploration begins. This prevents discovering 300+ schema errors at Phase 7.Freeze repo roster ⛔ BLOCKING
scripts/discover_repositories.py immediately after workspace creation and store repo-inventory.json, repo-inventory.md, repo-shards.md, repo-scan-roots.txt, and empty shard templates under work/.quality/repository-versions.md, repo briefs/profiles, depth coverage, shard validation, and final validation. Do not discover repos ad hoc later from memory.Plan repo shards ⛔ BLOCKING
references/depth-coverage.md. Default decomposition is one repo per shard; batch only tiny, tightly-coupled repos.parallel, serial, or batched in work/scanner-output/repo-shards.md and work/shards/<repo>/shard-summary.json.serial_reason.submit/findings/, quality/lens-coverage.md, quality/depth-coverage.md, indexes, README, HTML, overview image) stay coordinator-owned.Build repo briefs ⚠️ REQUIRED
references/language-ecosystems.md to identify build metadata, framework entry points, and evidence-backed verification command sources.submit/knowledge/repo-profiles/<repo>.md per roster repo, but treat it as a living profile. Final profiles must be revised from shard evidence, not left as inventory-only templates.submit/quality/depth-coverage.md for multi-repo/deep runs with roster count, profile count, historical baselines found/reviewed/excluded, and planned shard rows.acquire-codebase-knowledge if exposed by the runtime, but only run it in a way that does not modify source repos unless the user approves its docs/codebase/ output. Otherwise use its mapping approach as an accelerator and write the audit-local understanding into work/shards/, work/drafts/knowledge-capture.md, and submit/knowledge/repo-profiles/. If it is not installed and this is a multi-repo or unfamiliar large codebase, follow references/related-skills.md → "Use Order" (interactive: ask once with the locator visible; automatic: continue and record in submission-scope.md).Run repo-local shard exploration ⛔ BLOCKING
references/repo-understanding.md and references/exploration-methodology.md before dispatching agents.exploration-methodology.md, (c) instruction to produce a structured report with Project Summary, Surface Map, Top Risk Candidates (with file:line evidence), and Repo Profile Data. Agents explore fresh — do NOT give them pre-generated seeds. Seeds are generated AFTER exploration from gap analysis. Do NOT ask agents to write shard files directly — agents explore and report; the coordinator converts reports to shard evidence.repo-scan-roots.txt to fill the gaps you identify.Validate shard evidence ⛔ BLOCKING
scripts/validate_bug_package.py <submit-root> --validate-shards-only --repo-root <target-root> before writing final Bug records or report assets.ERROR: or exits non-zero, stop the final-handoff path. Do not run normal validation as a substitute, do not generate README/HTML/overview assets, and do not claim completion; report the package as in-progress with the shard-gate error count.work/scanner-output/shard-gate.passed.json; final validation rejects report assets generated before this receipt.After Phase 7 passes with zero evidence errors (warnings are acceptable):
scripts/generate_candidate_index.py <submit-root>scripts/generate_bug_report_html.py --allow-ungated-draft --language <zh|en> <submit-root>work/session-end-state.md:
# Session End State
- Candidates: <total> across <N> repos
- Candidate priority mix: P1 <count> · P2 <count> · P3 <count> · P4 <count> · unknown <count>
- Recommended deepening: <top 5-8 repos by risk>
- Skipped surfaces: <what wasn't covered>
- Next session: deepen <repos>, then cross-repo lenses, promotion, package
Run cross-repo and META lenses ⚠️ REQUIRED
exploration-lenses.md).submit/quality/lens-coverage.md while the lenses run. Zero-candidate lens records are valid when the scan path and exclusion reason are explicit.submit/quality/depth-coverage.md as candidates move: every repo needs either submitted Bugs, parked candidates, or an explicit zero-finding rationale with scanned surfaces and remaining gaps.references/risk-taxonomy.md for categories, P1-P4 definitions, and confidence rules.references/domain-profiles.md to choose the primary repository lens.references/security-static-analysis.md for security-specific checks and tool ideas.references/architecture-review.md for architecture risk signals.references/candidate-triage.md for weak leads that should not enter submitted findings yet.Promote, dedupe, and verify candidates ⛔ BLOCKING
references/deduplication.md before creating or splitting a Bug.work/candidates/ if evidence depends on unverified assumptions.systematic-debugging style reasoning: root cause first, no speculative fixes.candidate_count, submitted_bug_ids, and candidate notes as leads are promoted, parked, refuted, or merged.priority_estimate, outcome, bug_gate, and missing_gate when known. Submit lower-priority Bugs when code evidence, trigger path, realistic failure mode, affected resource, and impact are all explicit; park only leads that fail a named gate.Promotion Review entry in the shard candidate file; promote it if the only reason for parking is prioritization or time.Write final Bug records ⚠️ REQUIRED
references/bug-schema.md for the Markdown metadata and QA-style sections.references/writing-style.md to keep wording natural and submission-ready.P1-BUG-0001-short-description.md.BUG-xxxx.BUG-0001..BUG-N — no gaps, no segmentation, no per-agent reserved ranges. If multiple agents ran in parallel and produced segmented IDs (e.g. agent A: 0001-0010, agent B: 0100-0108), renumber to a single contiguous sequence before submission. See references/resume-audit.md → "Parallel Multi-Agent Consolidation".references/knowledge-capture.md. Promote evidence-backed atoms from work/drafts/knowledge-capture.md into submit/knowledge/; leave speculative atoms in work/.submit/knowledge/ after each evidence-backed Bug batch; final repo knowledge should be complete enough for another Agent to continue without rescanning basics.references/knowledge-base.md to check final knowledge completeness.knowledge/architecture-design-review.md from a discovery perspective.scripts/generate_bug_index.py.scripts/generate_candidate_index.py <submit-root> for repo-group, deep/full, or high-recall runs. This creates indexes/candidates.generated.json, indexes/candidates.generated.md, and quality/candidate-coverage.md; final validation rejects repo-group packages when this funnel is missing, inconsistent with shard candidate_count, or shows gate-complete candidates that remain unsubmitted without a recorded critical-only scope.quality/issue-family-coverage.md exists and covers every required family for repo-group/deep/high-recall packages. A low Bug count is credible only when this file and the candidate funnel explain what was promoted, parked, refuted, or found not applicable.scripts/validate_bug_package.py --repo-root <path> after findings and knowledge are current. <path> may be either a single repo checkout or a parent directory containing multiple repo checkouts; the validator expands repo-group roots and fails if discovered repos are missing profiles, version evidence, shard evidence, or depth coverage. Lens coverage and default lens completeness are required by default; use --lens-scope custom only when submission-scope.md declares a narrowed strategy. Use --skip-lens-coverage only for in-progress / resume runs, never final handoff. Pass --repo-root <path> so frontmatter paths can be verified (see references/authenticity.md).work/scanner-output/repo-inventory.json, work/scanner-output/repo-shards.md, work/scanner-output/repo-scan-roots.txt, every work/shards/<repo>/shard-summary.json, every shard candidates file, and the shard gate receipt. A package with generated-looking final Markdown but missing shard evidence must not pass final handoff.references/evaluation.md.evaluation.md: apply one of the four documented actions (lower confidence / move to candidates / merge / record uncertainty) per the gate, do NOT pause the run, and log every change in quality/submission-scope.md. If pre-package validation returns errors, fix them before generating report assets.quality/submission-scope.md.work/scanner-output/prepackage-validation.passed.json; report asset generation requires this receipt.evals/core-regressions.json and grade any fresh-agent trace with scripts/grade_eval_trace.py.scripts/generate_bug_report_html.py refuses final HTML generation unless work/scanner-output/prepackage-validation.passed.json exists. Use its ungated draft flag only for a clearly labeled non-final draft, never for final handoff.scripts/generate_bug_report_html.py refuses final HTML generation unless work/scanner-output/shard-gate.passed.json exists. Use its ungated draft flag only for a clearly labeled non-final draft, never for final handoff.first-pass, focused, or in-progress, do not generate final HTML or overview assets until exploration continues or the user explicitly accepts a depth downgrade in submission-scope.md.README.md, indexes, knowledge docs, quality scope, standards, optional audit-overview.png, and default bug-audit-report.html under submit/ for final handoff/report packages.audit-overview.png was not requested, continue without it and record deferred-post-handoff or an explicit omission in submission-scope.md. Do not block the final package on this optional image. Ask after the validated handoff summary whether the user wants the overview image added.audit-overview.png, use references/audit-overview-image.md for content, layout, color, metadata, and wording constraints.audit-overview-image.md (clipped content, stale layout, anti-pattern present, wrong counts), regenerate. Cap at 3 regeneration attempts in all modes (counting audit-overview.png overwrites under submit/, not draft iterations under work/). After the cap: in automatic mode, omit the image and record omitted-after-failure plus the last failure cause in submission-scope.md; in interactive/checkpointed mode, surface the last failure in the user's language and ask one yes/no: try native image generation once, or omit the image for this package.references/writing-style.md to README, knowledge docs, Bug records, and image text.bug-audit-report.html by default: read references/interactive-html-report.md, then run scripts/generate_bug_report_html.py <submit-root> --language <zh|en> after indexes and submitted knowledge are current. Validate with scripts/validate_bug_package.py --require-html-report. The report is a self-contained browser delivery layer over final package files, not a replacement for Markdown deliverables.bug-audit-report.html, and optional audit-overview.png are current: scripts/validate_bug_package.py --require-knowledge --require-html-report --repo-root <path>. Multi-repo packages with --require-knowledge require quality/depth-coverage.md by default; pass --require-depth-coverage explicitly for any single-repo task that the user called "deep". Add --require-image only when audit-overview.png is included or explicitly expected.--require-knowledge --require-html-report --repo-root <path> is not a final validation, even if it prints zero errors.bug-audit-report.html link when generated, audit-overview.png state (included, omitted-by-user, omitted-as-lightweight-scan, omitted-after-failure, or deferred-post-handoff), Bug totals by priority, repo/profile/depth coverage status, coverage classification (first-pass, focused, or deep-complete), and validation result.audit-overview.png as a follow-up artifact.scripts/validate_bug_package.py --validate-shards-only --repo-root <path> reports zero evidence errors (warnings acceptable).indexes/candidates.generated.json and indexes/candidates.generated.md exist and match shard candidate_count.work/shards/<repo>/shard-summary.json and work/shards/<repo>/candidates.md with code-anchored candidate bullets or a zero-finding rationale naming scanned surfaces.submit/quality/depth-coverage.md lists every repo with candidate counts and coverage classification.work/session-end-state.md records candidate totals, P1/P2 hotspots, and recommended repos for session 2 deepening.bug-audit-report.html generated with --allow-ungated-draft.scripts/validate_bug_package.py --require-knowledge --require-html-report --repo-root <path> reports zero errors.submit/quality/submission-scope.md records depth intent; delivered coverage matches or has user-accepted downgrade.status=open, source=static-analysis, code evidence, static reproduction path, fix boundary, and suggested verification commands.quality/candidate-coverage.md includes the Priority Promotion Sweep, and no gate-complete P1-P4 candidate remains unsubmitted unless submission-scope.md records a critical-only scope.references/evaluation.md gates.submit/quality/lens-coverage.md covers every enabled lens. submit/quality/issue-family-coverage.md covers every required family.BUG-0001..BUG-N. Global outputs merged serially.submit/knowledge/repo-profiles/<repo>.md profile.bug-audit-report.html is current and generated without --allow-ungated-draft.audit-overview.png follows references/audit-overview-image.md if included.references/writing-style.md.rg / rg --files for searches when available.references/cross-platform.md before running shell commands on Windows, Linux, macOS, or when a suggested command fails.references/related-skills.md when deciding whether to combine this skill with runtime or public companion skills.references/agent-compatibility.md when packaging, sharing, or adapting this skill for another Agent Skills-compatible client.scripts/init_bug_workspace.py — create output directories and baseline docs.scripts/discover_repositories.py — discover and freeze a repo-group roster and source scan roots from a repo checkout or parent directory containing multiple repo checkouts.scripts/run_high_recall_scan.py — run roster-safe supplemental search seeds from repo-scan-roots.txt and an LLM-generated --patterns-file without scanning historical audit outputs.scripts/generate_bug_index.py — build Markdown/JSON indexes from Bug records.scripts/generate_bug_report_html.py — build a self-contained interactive bug-audit-report.html from final package files.scripts/validate_bug_package.py — verify package structure, evidence paths, candidate count consistency, shard evidence honesty, and cross-repo pattern detection without prescribing Bug discovery routes.scripts/generate_candidate_index.py — build candidate pool indexes from shard evidence.scripts/generate_session_handoff.py — generate a session 1→2 deepening plan from candidate index and shard summaries.scripts/grade_eval_trace.py — replay-grade stored fresh-agent transcripts and output artifacts against portable eval cases.evals/core-regressions.json — five portable regression cases for multi-repo depth, forbidden package writers, default HTML/optional image, single-repo lightweight scans, and historical-baseline fresh rescans.references/workflow.md — full multi-pass workflow.references/authenticity.md — Authenticity First rule, anti-fabrication categories, honest-uncertainty markers, per-output rules, and validator/evaluator enforcement levels.references/exploration-lenses.md — 13 architecture boundaries that guide exploration without hardcoded patterns. plus cross-repo amplification.references/repo-understanding.md — per-repo surface map and hypothesis-loop contract used before Bug hunting.references/repo-profile.md — per-repo profile spec (5 boundary types, Intent Inputs for META-1, Mermaid call graph or small-repo exemption).references/call-graph-conventions.md — Mermaid call graph guardrails (edge evidence, ≤30 nodes, ≤4 depth, dashed unconfirmed, uncovered area, small-repo exemption).references/deep-discussion.md — analysis charter and brainstorming prompts.references/resume-audit.md — continue an existing audit, keep IDs stable, and record downgrade/removal reasons.references/evaluation.md — Bug-level, package-level, depth, priority, and skill-regression evaluation gates.references/depth-coverage.md — multi-repo/deep coverage ledger: repo inventory, historical baselines, per-repo coverage, zero-finding rationale, and final depth claim rules.references/issue-family-coverage.md — fresh-run risk-family coverage matrix for deep/high-recall audits.references/metadata.md — audit metadata and repository version evidence standard.references/knowledge-base.md — minimal discovery map and final reusable repo knowledge standard.references/knowledge-capture.md — capture and promote reusable facts learned during exploration.references/bug-schema.md — Bug record schema and example.references/risk-taxonomy.md — priorities, confidence, categories, and sorting.references/domain-profiles.md — domain-specific audit lenses for infra, backend, frontend, SDK, mobile, and generic repositories.references/language-ecosystems.md — language/build-system discovery, entry-point hints, verification command evidence, and language-specific false-positive checks.references/candidate-triage.md — candidate lead format and promotion rules.references/deduplication.md — merge/split rules for repeated findings.references/architecture-review.md — architecture-risk analysis vocabulary.references/security-static-analysis.md — security checks and scanner workflow.references/writing-style.md — natural developer-facing wording rules and banned AI-flavored phrases.references/package-output.md — final package structure and README/image conventions.references/audit-overview-image.md — audit-overview.png content, layout, color, and metadata rules.references/interactive-html-report.md — bug-audit-report.html content, interaction, provenance, design, and validation rules.references/cross-platform.md — Windows/Linux/macOS command, Python, path, and archive guidance.references/related-skills.md — optional companion skills, public locators, npx -y skills commands, and audit lenses.references/exploration-methodology.md — exploration loop, agent dispatch templates, and methodology for maximizing Bug discovery through deep code reading.references/shard-schema.md — canonical schema for shard-summary.json and candidates.md.references/multi-repo-strategy.md — multi-session strategy, Agent output conversion rules, and session split recommendations.testing
Use when asked to review a skill's quality, test whether a skill works correctly, find why a skill behaves inconsistently or fails to trigger, check if a skill is ready to publish, harden a skill against known failure modes, or turn an observed failure into a repeatable test case.
development
Vibe Deck — vibe-code professional slide presentations — describe what you want, AI builds it. Scaffolds a React + ECharts project, creates slides with charts, animations, theming, and PDF export. Use PROACTIVELY when the user mentions slides, deck, presentation, PPT, PPTX, slideshow, keynote, pitch deck, quarterly review, board meeting, investor update, sales deck, training deck, onboarding slides, report presentation, add a slide, build a deck, create slides, make a roadmap slide, put this data into a presentation, turn this Excel into slides, visualize this data as a deck. Also trigger when the user wants to modify, reorder, or delete slides in an existing slide-kit project. Also trigger when the user wants to share, export, or package the deck as a single HTML file for email or offline viewing. Chinese triggers: 做PPT, 做个deck, 写pptx, 创建演示, 制作幻灯片, 做幻灯片, 加一页, 新增slide, 做演示文稿, 工作汇报, 述职报告, 季度回顾, 方案展示, 写个汇报, 改一下这页, 调整幻灯片顺序, 删掉这页, 把数据做成图表展示, 帮我做个路线图, 导出单个HTML, 分享给别人看.
development
Generate Outlook-compatible email templates (EML + HTML) through conversation. Three modes: Design (create from scratch), Import (replicate an existing .eml), Production (fill Excel data into a crystallized template). Use when user wants to: create or design an email template, generate an .eml file, make a newsletter, format an email for Outlook, import/replicate an email (导入/复刻邮件), design a 邮件模板, do 邮件排版 or 邮件设计, build pixel-perfect HTML email with Outlook compatibility. Triggers: weekly report email (周报邮件), product update email, event invitation (活动邀请邮件), announcement (公告邮件), company newsletter, .eml import, replicate email template, or make an email look professional/beautiful for Outlook. Handles visual design, EML generation, and EML import — not SMTP, sending, or account management. Without this skill, Outlook emails break because Outlook uses Word rendering which ignores modern CSS.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.