meta-methodology-research-methodology-ded23d — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meta-methodology-research-methodology-ded23d (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Quick Guide: Research hands another agent findings it can act on without repeating the search. Locate files by name, narrow by content, then read the files that carry the answer; every claim names the file, line range and symbol it came from, and a search that found nothing is reported together with the search. Two tool facts change what a result means. A search that returns nothing is not proof of absence: the Grep tool skips gitignored files, Glob's list is capped, and a long file's Read can come back partial. And on macOS, Linux and WSL, Claude Code leaves the Glob and Grep tools out of the default tool set, so the same steps run throughfindandgrepin the shell.
Detailed Resources:
<critical_requirements>
Open a file before its path or contents enter the findings. A path inferred from convention is a guess, and the agent acting on it opens a file that is not there.
Give every claim the file, line range and symbol it came from. The range lets the reader check the claim in one read; the symbol lets them find it again once an edit has moved the lines.
Report a search that found nothing together with the search. An absence is only as strong as the pattern, path and filters behind it, and the reader can rerun those but not your conclusion.
Leave the code as you found it while you investigate. A change made mid-investigation alters the evidence, and the reader can no longer tell which state a claim was read from.
</critical_requirements>
Auto-detection: where is X defined, how does X work in this codebase, find similar implementations, catalogue the components / endpoints / commands, pattern discovery, codebase investigation, architecture investigation, API catalogue, file:line references, usage count, Files to Reference, research findings, Glob, Grep
Applies to:
Handled elsewhere:
<philosophy>
The reader of a finding did not watch the investigation. They cannot tell a claim that was read from one that was inferred, so the only claims worth handing over are ones they can check: a location, the code as it reads there, and the search that produced it. A finding they have to re-derive saved them nothing, and a wrong one costs more than none, because they build on it.
</philosophy>
<decision_framework>
What do you already know?
├─ The symbol's name → its definition first (a language server's go-to-definition
│ where one is running, else a search for the declaration),
│ then its references
├─ Text the code contains → content search, scoped to the directory if known
├─ What the file would be called → name search, then read the likeliest match
└─ Nothing yet → list the top-level layout, then search by nameThe question sets the deliverable, and the deliverable sets the depth.
"How does X work?" → X's flow: 2–3 exemplary files read end to end
"What exists for X?" → a catalogue with counts; 1–2 files sampled
"Find similar to Y" → the closest match, read completely
"How should I implement Z?" → the existing code to follow, in reading order
"Patterns for X?" → several instances, and where they varyIs the question that was asked answered?
├─ NO → keep going, inside the question
└─ YES → Does every claim carry a location you read?
├─ YES → report
└─ NO → read the file now, or drop the claim</decision_framework>
<patterns>
Find candidates by name, narrow them by content, then read the files that carry the answer. Each step is cheaper than the next, so the expensive reads land only on files already shown to matter.
Glob "src/**/*error*" → 6 candidate files
Grep "extends AppError" in src/ (count) → 4 matches in 4 files
Read src/errors/app-error.ts → class AppError, lines 8–31Where the session has no Glob or Grep tool, find and grep in the shell are the same two steps.
Full walk-through: examples/core.md
One claim, one location: the file, the line range, the symbol, the code as it reads there, and how many instances exist.
AppError base class — src/errors/app-error.ts:8-31, class AppError
Usage: 4 subclasses (Grep "extends AppError" in src/, count mode → 4)Full shape, beside the version that fails: examples/core.md
Where no report shape is given: a summary, the patterns found, the files to read in order, the existing files to follow, the gaps, and a verification table that includes the searches that came back empty.
## Research Summary ## Recommended Approach
## Patterns Found ## Gaps
## Files to Reference ## Verification ChecklistFull template: examples/core.md
A path enters the findings once the file has been opened, never from convention; a path seen only in a search result goes under Gaps as not read. An absence enters with its search, after a control — a search for something known to be there, over the same path with the same filters — has shown the search can find text at all.
Grep "jwt" -i in src/ → 0 matches
Grep "session" -i in src/ → 12 matches (control: the search works here)
Finding: no JWT handling in src/ — gitignored files not searchedFull code: examples/core.md
Report what the question asked for. Material outside it becomes one line under Gaps where it bears on the answer, and is left out where it does not.
Asked: How does the API authenticate requests?
Report: the session flow, the route guard, the files to read first
Leave: database schema, deployment, the client's login formFull code: examples/core.md
Research spanning several packages keeps a running note — files examined, patterns found with their counts, gaps — so a compaction or a handoff resumes from the note rather than from memory.
Full template: examples/core.md
</patterns>
<red_flags>
Misleads the agent acting on the findings:
utils/formatDate.ts) rather than from a search result — the reader opens a file that is not there. Write the path the search returned.Surprising behaviour:
PARTIAL view — "the file does not contain X" after that read is unverified.interface{} has to be written interface\{\}. On older Claude Code builds a pattern ripgrep rejected, or a path the tool could not read, came back as no matches rather than as an error.@deprecated; report it as deprecated rather than as the convention to copy.</red_flags>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.