agentsclimarketplace

Mk investigate

Skill ngocsangyem/MeowKit/packages/mewkit/src/migrate/modules/codex/root/.agents/skills/mk-investigate

Systematic root-cause debugging that produces a diagnostic report (mk:fix applies the fix; mk:build-fix owns compile failures). Use for 'debug this', 'why is this broken', 'root cause'.From its SKILL.md

Install
npx -y skills add ngocsangyem/MeowKit --skill mk-investigate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.8 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

<!-- Split for progressive disclosure (checklist #11, #14): 497 → ~65 lines --> <!-- References loaded just-in-time, not all upfront -->

Systematic Investigation

Path convention: Commands below assume cwd is $(git rev-parse --show-toplevel) (project root). Prefix paths with "$(git rev-parse --show-toplevel)/" when invoking from subdirectories.

Iron Law: NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.

Skill wiring

  • Reads memory: canonical .meowkit/memory/fixes.json and architecture-decisions.json; fall back to matching generated Markdown views only when JSON is absent. See AGENTS.md (Memory).
  • Writes: a diagnostic report only, under tasks/reports/**; the hook enforces this path. mk:fix owns remediation and any memory capture after a fix.

Plan-First Gate

Investigation precedes planning for bug fixes:

  1. Confirm root cause FIRST (Iron Law)
  2. After root cause confirmed, hand off to mk:fix. If the remedy affects more than two files, mk:fix requests an approved bug-fix plan using supported plan-creator syntax.

Skip: Investigation itself doesn't need a plan — it produces the input for planning.

When to Use

  • User reports errors, bugs, unexpected behavior
  • "debug this", "fix this bug", "why is this broken"
  • "investigate this error", "root cause analysis"
  • Troubleshooting why something stopped working

Process

  1. Run preamble — load references/preamble.md and execute the startup bash block
  2. Collect symptoms — read error messages, stack traces, reproduction steps
  3. Investigate root cause — load references/debugging-methodology.md and follow Phase 1-3. For recurring patterns or complex failures, load references/rca-method-selection.md for methodology selection. Load references/rca-anti-patterns.md to avoid common RCA mistakes.
  4. Check alternatives — test the strongest competing explanation before declaring a root cause.
  5. Write diagnostic report — save only to tasks/reports/{timestamp}-investigation-{slug}.md; include the required output contract below.
  6. Hand off — route confirmed defects to mk:fix, compile/build failures to mk:build-fix, and unresolved causes back to the user with explicit uncertainty.
  7. Run shared protocols — load references/shared-protocols.md for completion status + telemetry

References

Load only when executing the corresponding step — not upfront.

ReferenceWhen to loadContent
preamble.mdStep 1 — skill startupSession init, env detection, upgrade check
debugging-methodology.mdSteps 2-4 — investigationEvidence collection and hypothesis testing
shared-protocols.mdStep 7 — completionstop and ask the user in chat format, completion status, telemetry, contributor mode

Specialized Techniques (load based on bug type)

Bug typeLoad referenceWhat it adds
Deep stack trace errorsreferences/root-cause-tracing.mdBackward trace: symptom → cause → ROOT CAUSE
Server/CI/DB incidentsreferences/system-investigation.md5-step system investigation methodology
CI/CD failures, log correlationreferences/log-analysis.mdFilter → timeline → pattern → cross-source
Performance issuesreferences/performance-diagnostics.mdQuantify → layer isolation → bottleneck
Post-fix validationreferences/reporting-standards.mdEnhanced DEBUG REPORT with timeline + recommendations
Test pollutionRun scripts/find-polluter.sh <file> <test-pattern>Bisection to find which test creates unwanted state
Defense-in-depthSee mk:fix/references/prevention-gate.md4-layer validation (DRY — shared with mk:fix)

Constraints

  • Diagnostic only — never edit source, tests, configuration, plans, or memory stores
  • Report-only writesWrite is allowed solely for tasks/reports/** and is hook-enforced
  • 3-strike rule — if 3 hypotheses fail, STOP and escalate
  • Evidence boundary — label each claimed cause as confirmed or uncertain; do not imply remediation completed

Diagnostic Output Contract

Every report includes: symptom, reproduction status, expected versus actual behavior, ranked causes, confirmed root cause or explicit uncertainty, evidence, and blast radius. Recommendations may name a next owner but must not implement a fix.

Hooks

  • Iron Law enforcement: No fixes without confirmed root cause; mk:fix is the only remediation owner.
  • Report-path hook: the PreToolUse:Write hook fails closed unless the destination is under tasks/reports/**.
  • If root cause cannot be confirmed after 3 hypotheses, escalate to human
  • Interaction with mk:careful: If mk:careful is active, debugging commands that touch state will still prompt for confirmation. This is expected — do not bypass.

Gotchas

  • Confirming hypothesis without disproving alternatives: Finding evidence FOR a theory doesn't mean it's correct → Actively test at least one alternative hypothesis before concluding
  • Log timestamps in wrong timezone: Server logs in UTC, local comparison in local time → Normalize all timestamps to UTC before correlation

Delegation: mk:web-to-markdown

When investigation requires fetching an arbitrary external URL (e.g. a vendor error page, a remote log endpoint, a referenced issue URL), this skill delegates to mk:web-to-markdown via the --wtm-accept-risk flag.

  • Without --wtm-accept-risk: mk:web-to-markdown refuses cross-skill delegation. External URL resolution falls back to Context7 / chub / WebSearch only.
  • With --wtm-accept-risk: delegation proceeds through all security layers (SSRF guard, injection scanner, DATA boundary, secret scrub). The flag is a conscious trust-boundary crossing — the caller acknowledges the target URL may contain prompt injection and that the skill's defenses are best-effort.
  • Delegation example: .agents/skills/.venv/bin/python3 .agents/skills/web-to-markdown/scripts/fetch_as_markdown.py "<url>" --wtm-accept-risk --caller mk:investigate

What ships with it: 13 files

47.0 KB alongside SKILL.md, 3 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.