mk:ask-me
Overview
Answer questions about the current project — codebase, architecture, conventions,
workflows, rationale, constraints — with minimal cited file:line evidence.
Gives the agent deep, fast project understanding instead of long grep/search
sessions. Read-only by default; the answer is the deliverable.
Route first
Classify the request before gathering evidence. If a specialist owns it, name that skill and stop; do not partially answer. The complete routing table is references/specialist-routes.md.
This skill answers what is true, how it works here, why it exists, and what constraints apply — about the current project only.
When to Use
Auto-activate on:
- "how does X work here / in this project / in this repo"
- "what does X mean" (project file, config, convention)
- "why is X structured this way"
- "is it true that ... in this repo" (claim-check)
- "what constraints apply before touching X"
- "explain X with sources / citations"
Explicit: /mk:ask-me [question] [--depth quick|standard|deep] [--save-to <path>]
Do NOT invoke when: the request matches any Redirect First row, asks to change code, or is a pure general-knowledge question (answer those directly, no scouting).
Process
- Route check. Match against Redirect First. Owned elsewhere → name the skill, stop.
- Parse. Extract the question. Infer kind: factual, explanation, rationale,
constraint-summary, or claim-check. Depth:
standardunless flagged. - Minimal evidence plan. Prefer user-provided paths; else grep targeted keywords. Docs/project context first, then targeted code/config. Apply the forbidden-path list below.
- Bounded gather. Read only relevant slices within the depth budget. Stop
as soon as the answer is sufficiently supported. Track
path:linefor every source-backed claim. - Synthesize. Direct answer first; separate verified claims from inference; state confidence (high/medium/low — mandatory); list limitations; mention a related specialist skill only if the user's next likely action leaves scope.
- Optional save. Only via
--save-toor explicit request, per the save-path policy below. On unsafe path or conflict, refuse the write and return the answer inline.
Depth budgets and output/failure contracts: references/answer-contract.md.
Forbidden Paths (never read)
.env*, secrets/keys/credentials/tokens of any kind, .meowkit/memory/,
session-state/, dependency dirs (node_modules/, .venv/), build outputs,
browser profiles. No WebSearch — current-docs lookup belongs to mk:docs-finder.
Save-Path Policy
Write only when asked, and only under: an explicit user path inside the project
root, tasks/reports/, or ${CLAUDE_PLUGIN_DATA}/ask-me/. Path escapes a safe
root → refuse and answer inline. Target exists → ask before overwrite or use a
timestamped name.
Answer contract
Return a direct answer, confidence, cited evidence, and only needed inference/limitations. Include one related specialist only when the likely next action leaves this scope. Load references/answer-contract.md for the exact template and failure handling.
Workflow Integration
On-demand — no single phase anchor; usable at any point from Phase 0 (orient) through Phase 6 (reflect). Does not gate or feed any phase artifact.
Handoff Protocol
The answer is terminal by default — no agent receives it. If the user's next action leaves this skill's scope, point to the single owning specialist skill (one pointer, never auto-invoke it).
Gotchas
- Don't turn an answer request into a plan — the answer IS the deliverable.
- Don't over-scout: stop at sufficiency, not at budget exhaustion.
- Don't answer option-selection questions; route them (
mk:party/mk:brainstorming). - Never cite project facts without
path:linesources; unsourced points go under Inference. - Missing docs lower confidence but don't block — fall back to targeted code/config reads.
- "How does [library] work" is
mk:docs-finderterritory; this skill only answers "how does X work in this project".