Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Look Into It

ASecurity

Investigate any issue brought to you — a bug report, a "why is X happening", a fix request — trace it through the codebase (or whatever materials hold the answer), resolve open questions with the operator, then either implement the fix or (in advise mode) lay out the root cause and 2–3 solution options for the operator to choose. If the issue arrived over a chat channel (Slack, or another IM exposed through an MCP), post throttled milestone updates back to the thread — or stay silent and repo...

2 stars
0 votes
0 copies
0 views
Added 9/22/2026
ai-agentsgoreact

Works with

cursorterminalclimcp

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add dotlas/skills --skill look-into-it --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Look Into It?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Look Into It
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dotlas-look-into-it/badge)](https://www.skillsdirectory.com/skills/dotlas-look-into-it)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: look-into-it
description: >
  Investigate any issue brought to you — a bug report, a "why is X happening", a fix
  request — trace it through the codebase (or whatever materials hold the answer), resolve
  open questions with the operator, then either implement the fix or (in advise mode) lay
  out the root cause and 2–3 solution options for the operator to choose. If the issue
  arrived over a chat channel (Slack, or another IM exposed through an MCP), post throttled
  milestone updates back to the thread — or stay silent and report inline in silent mode.
  Reporting (post/silent) and resolution (fix/advise) are independent modes chosen at
  launch. Use when a thread or the operator hands you an issue to look into.
---
# I’ll Look Into It

Take an issue, investigate it end to end, and — depending on mode — fix it or lay out
the options, while keeping whoever reported it as informed as you choose.
This is an **attended** skill: the operator is at the terminal to answer questions as
you go.

The investigation is the same in every mode.
Two independent choices sit on top of it: **how it reports** (the channel layer) and
**how it resolves** (fix vs advise).
Both are settled at the start.

## Modes

Two orthogonal axes — pick one from each.
Defaults reproduce the original behavior.

**Reporting — how the thread hears from you:**
- `post` *(default when a channel is present)* — post throttled milestones back to the
  thread, per Updates.
- `silent` — investigate with the thread as context but **post nothing** to it (no
  messages; the 🕵️ ack reaction is still allowed unless you also pass `--no-ack`).
  Surface every milestone inline to the operator instead.
  Use when you don’t want to auto-reply on Slack.
- With no channel at all, reporting is inherently inline — see investigation-only below.

**Resolution — what you do once the root cause is settled:**
- `fix` *(default)* — write the fix plan, implement it, verify, report resolution.
- `advise` — stop after the investigation: **do not implement.** Present the
  problem/root cause and propose **2–3 distinct solutions** with tradeoffs and a
  recommendation, then hand back to the operator.
  See Advise below.

## Start

Launch (append mode flags in any combination):
- **With a channel** — the issue is in a Slack (or other IM) thread:
  `/loop 5m /look-into-it <thread permalink> [--silent] [--advise]` (the loop only posts
  milestones — see Updates; a `--silent` loop still runs but sends nothing).
- **Without** — the issue is handed to you directly:
  `/look-into-it <what to look into> [--advise]`.

If no mode flags are given, ask the operator which reporting and resolution modes they
want (`AskUserQuestion`) before starting, unless the launch context makes it obvious;
default to `post`/`fix` only when they decline to choose.

At the start, detect the channel and bind reporting to it:
- A thread permalink names the channel explicitly — read that thread first.
- With no permalink, check whether a communication MCP (Slack, Teams, or similar) is
  connected and a relevant thread is identifiable.
- If no channel is available, run **investigation-only**: do the full investigation,
  surface milestones inline to the operator, and skip the update loop.
  (`silent` is the same shape with a channel present but muted.)

Slack is the reference channel — the tool names and the [slack](../slack/SKILL.md)
compose/digest standard below assume it; another IM routes the same milestones through
whatever MCP is available.

Anti-spam (in `post` mode) comes from the milestone whitelist, not the interval — most
ticks send nothing.

## The investigation

Flow: **Digest → Understand → Grill → Plan → Implement.** Understand and Grill cycle
back as needed; the fix plan is written only once the investigation is settled.

### 1. Digest

If there’s a thread, read it once (`slack_read_thread`, or the channel’s equivalent) and
digest it per the [slack](../slack/SKILL.md) skill’s standard — what is asked, where it
stands, and the identifiers (file/table names, error strings, source, country, ids).
Then **ack** by reacting to the linked message with the detective emoji (🕵️) via
`slack_add_reaction` — a silent “being looked into” signal, no posted message.
The ack reaction applies in `post` and `silent` alike (skip it only with `--no-ack`). In
investigation-only mode, digest the issue as the operator stated it.

### 2. Understand — establish scope, then trace

**Establish the context scope first.** The answer usually lives in what’s already in
front of you — the codebase, docs, or files in the current working scope.
Start there; a monorepo you’re already inside likely holds both the issue and its fix.

Find the material that grounds the investigation — where things live, the local
conventions, and anything you can reuse rather than reinvent.
Note the conventional plans location within it for step 4. *In a codebase:*
agent-context and conventions (`.agents/` / `.agent/` / `.cursor/` dirs, instruction or
manifest files, `docs/`, `CONTRIBUTING`, the nearest READMEs), plus any skills, standing
instructions, or memory (`CLAUDE.md`, a `memory/` dir) you can lean on.
*In other work:* the equivalent source material — prior filings and precedent, existing
designs and assets, records and ledgers, whatever the domain keeps.
Don’t assume a layout — discover what’s actually here.

If the relevant context isn’t in the current scope and you can’t locate it, ask the
operator (`AskUserQuestion`) to point you to it — the directory, the files, where the
material lives — rather than guessing.

**Then trace the origin.** Locate where the issue comes from: which files, directories,
and scopes are in play, and what the fix would touch.
Read and search freely.
But **do not be eager with experiments** — any trial-and-error that runs code,
reproduces the issue, or has side effects must be proposed to the operator and vetted
(Grill) before you run it; favor static reading and reasoning first.
**No plan yet** — this step only builds understanding.

- If the candidate material is too large, the source doesn’t localize the issue, or you
  need business context to judge correct behavior → **Grill** (step 3), then return
  here. Understand ↔ Grill cycle until the origin and intended behavior are clear.

### 3. Grill

Resolve what the code can’t tell you: business context and scope (during Understand),
**and how the operator wants to approach the problem and shape the fix** (going into
Plan). Ask with `AskUserQuestion` — one question at a time, each with a recommended
answer; explore the code instead of asking when the code can answer it.
Questions go to the operator at the terminal — **never to the channel**. Fold answers
back into Understand or carry the chosen approach into Plan, and continue.

Exception: post a **blocked-needs-thread** update to the channel only when a participant
alone can unblock you (e.g. a product decision from whoever raised it).

### 4. Plan

> **`advise` mode stops the investigation here** — jump to Advise below instead of
> writing a fix plan.

Only after the investigation is settled and the operator’s chosen approach is grilled
out: write the **fix-implementation plan** to the conventional plans location within the
current scope (the one noted while establishing scope; if the scope has no such
convention, a sensible location within it), named `diagnostic-<slug>.md` (slug from the
issue topic). Follow the approach agreed in Grill.
The plan covers the fix — the files to change, the exact changes, and how to verify.

### 5. Implement

Execute the plan: make the fix.
Verify it against the problem as reported.
Once the fix is in and verified complete, delete the plan file written in step 4 — it
has served its purpose and should not linger.
Then post the **resolution** milestone.

## Advise (resolution mode `advise`)

When resolution is `advise`, you investigate exactly as above but **never modify code**.
After Understand concludes (Grill only for business/scope context — do *not* grill out a
single chosen approach; the point is to surface options), present to the operator:

1. **The problem** — the root cause in plain terms, grounded in the specific
   files/lines, and why it produces the reported symptom.
2. **2–3 distinct solutions** — genuinely different approaches, not variations.
   For each: what it changes, the tradeoffs (effort, risk, blast radius), and what it
   leaves unaddressed.
3. **A recommendation** — which you’d pick and why, stated plainly.

Present this inline to the operator.
Write no plan file and touch no code.
If the operator then picks an approach and asks you to proceed, continue into Plan →
Implement for that approach (effectively switching to `fix`).

The channel milestone for `advise` is **root cause settled** carrying the recommended
direction (one line, `post` mode only) — never post the full options dump or any code to
the thread. There is no `resolution` milestone unless the operator later has you
implement.

## Updates

**`post` mode.** Run under a 5-minute loop whose only job is to decide, each tick,
whether a whitelisted milestone needs to go to the thread — and send it if so.
The work happens regardless of the loop; the loop is just the recurring “does the thread
need to know anything yet?”
check.

- **Default per tick is silence.** Most ticks send nothing.
  Never post progress filler ("still investigating").
- **Whitelist only:** (1) **ack** — a 🕵️ reaction on the linked message at start (not a
  posted message), (2) **blocked-needs-thread**, (3) **root cause settled** (one line,
  after Understand concludes), (4) **resolution** (fix implemented and verified — `fix`
  mode only).
- **Compose** per the [slack](../slack/SKILL.md) standard: lead with the takeaway, facts
  only, short, no jargon.
- **Dedupe:** track what you have already posted (a small note keyed by thread ts under
  `${TMPDIR:-/tmp}`) and never repeat a milestone.
  End the loop once the resolution is posted (or, in `advise` mode, once **root cause
  settled** is posted).

**`silent` mode.** The loop, if launched, posts nothing — no messages of any milestone
(the 🕵️ ack reaction is still permitted).
Surface every milestone inline to the operator instead, exactly as investigation-only
does. Prefer launching without the loop.

**Investigation-only mode** (no channel).
No loop.
Surface the same substance inline to the operator as it occurs — root cause when
Understand concludes, resolution when the fix is verified (or the options when
`advise`). `ack` and `blocked-needs-thread` are channel concepts and don’t apply: the
operator is already present and answering, so there’s nothing to throttle.

Attribution

dotlasdotlas
View sourceMore from dotlas →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

693621 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →