Evidence Notes Workflow
Overview
Use this skill when reverse-engineering work needs a durable notes file, handoff summary, comparison between tools, or a record of what was inspected. The goal is to make future analysis easier without turning uncertain tool output into overstated source-level claims.
Workflow
Establish the session frame.
- Name the artifact set, source path, working copy path if any, and date.
- Record the question being investigated in one sentence.
- Note whether the current pass is triage, deeper decompilation, disassembly review, symbol matching, crash-log correlation, or comparison between tools.
Inventory the inputs.
- List original artifacts separately from copied working files.
- Record file names, relevant paths, sizes, versions, UUIDs, checksums, bundle identifiers, target frameworks, architectures, or archive members when useful.
- Keep generated outputs, exports, screenshots, and renamed-symbol notes separate from original inputs.
Record tool context.
- Name each tool, command, version, project file, database, or exported view that produced evidence.
- For GUI tools such as Cutter, Ghidra, Malimite, or Hopper, record the project/session name, imported file, analysis options when known, and exported snippets or screenshots.
- For CLI tools, record the exact command when it matters and summarize noisy output instead of pasting whole logs.
Separate observations from inferences.
- Observation: directly seen in metadata, command output, exported symbols, strings, decompiler output, disassembly, crash logs, or resources.
- Inference: a likely conclusion drawn from observations.
- Open question: something plausible but not confirmed by the current evidence.
- Do not erase uncertainty just because multiple tools produce similar pseudo-code.
Keep names and transformations traceable.
- When renaming symbols, functions, variables, files, or notes, record the original name and the new name.
- When comparing tools, state which tool produced which name, type, control-flow shape, or pseudo-code.
- When generated output changes after re-analysis, record the trigger for the change if known.
End with a handoff.
- Summarize the most useful confirmed findings.
- List blocked or uncertain areas.
- Name the next artifact, tool, command, or owner skill to use.
- Use
research-macos-security-control when the handoff must turn exact-build macOS public/private control evidence into a bounded technical note.
Notes Template
Use this compact template unless the user or repo already has a preferred format:
# Reverse Engineering Notes: <artifact or question>
## Session
- Date:
- Question:
- Current pass:
- Original artifact path:
- Working copy path:
## Artifact Inventory
| Item | Role | Type | Identifier |
| --- | --- | --- | --- |
| | original/input/output | | |
## Tool Context
| Tool | Version/session | Input | Output or observation |
| --- | --- | --- | --- |
| | | | |
## Observations
- ...
## Inferences
- ...
## Open Questions
- ...
## Renames Or Transformations
| Original | New | Reason | Source |
| --- | --- | --- | --- |
| | | | |
## Handoff
- Confirmed:
- Next check:
- Suggested owner skill:
Read references/analysis-records.md when the session needs reusable artifact, environment, tool-context, transformation, symbol-map, signature-report, Mach-O-map, or version-diff records. Load only the shapes needed for the current workflow.
Writing Rules
- Prefer short notes that can be extended over elaborate reports that go stale.
- Quote only the minimum generated output needed to anchor a finding.
- Say which artifact and tool support each important claim.
- Preserve disagreement between tools instead of smoothing it away.
- Do not place generated decompiler output beside original-source language unless the note clearly labels it as generated output.
1---2name: evidence-notes-workflow3description: Create reproducible reverse-engineering notes from artifacts, copied working files, commands, tool versions, decompiler or disassembler output, observations, inferences, open questions, and follow-up checks. Use when Codex needs to document a binary analysis session, preserve an evidence trail, compare tool output, or hand off reverse-engineering findings to a later agent or human pass.4---56# Evidence Notes Workflow78## Overview910Use this skill when reverse-engineering work needs a durable notes file, handoff summary, comparison between tools, or a record of what was inspected. The goal is to make future analysis easier without turning uncertain tool output into overstated source-level claims.1112## Workflow13141. Establish the session frame.15 - Name the artifact set, source path, working copy path if any, and date.16 - Record the question being investigated in one sentence.17 - Note whether the current pass is triage, deeper decompilation, disassembly review, symbol matching, crash-log correlation, or comparison between tools.18192. Inventory the inputs.20 - List original artifacts separately from copied working files.21 - Record file names, relevant paths, sizes, versions, UUIDs, checksums, bundle identifiers, target frameworks, architectures, or archive members when useful.22 - Keep generated outputs, exports, screenshots, and renamed-symbol notes separate from original inputs.23243. Record tool context.25 - Name each tool, command, version, project file, database, or exported view that produced evidence.26 - For GUI tools such as Cutter, Ghidra, Malimite, or Hopper, record the project/session name, imported file, analysis options when known, and exported snippets or screenshots.27 - For CLI tools, record the exact command when it matters and summarize noisy output instead of pasting whole logs.28294. Separate observations from inferences.30 - Observation: directly seen in metadata, command output, exported symbols, strings, decompiler output, disassembly, crash logs, or resources.31 - Inference: a likely conclusion drawn from observations.32 - Open question: something plausible but not confirmed by the current evidence.33 - Do not erase uncertainty just because multiple tools produce similar pseudo-code.34355. Keep names and transformations traceable.36 - When renaming symbols, functions, variables, files, or notes, record the original name and the new name.37 - When comparing tools, state which tool produced which name, type, control-flow shape, or pseudo-code.38 - When generated output changes after re-analysis, record the trigger for the change if known.39406. End with a handoff.41 - Summarize the most useful confirmed findings.42 - List blocked or uncertain areas.43 - Name the next artifact, tool, command, or owner skill to use.44 - Use `research-macos-security-control` when the handoff must turn exact-build macOS public/private control evidence into a bounded technical note.4546## Notes Template4748Use this compact template unless the user or repo already has a preferred format:4950```markdown51# Reverse Engineering Notes: <artifact or question>5253## Session54- Date:55- Question:56- Current pass:57- Original artifact path:58- Working copy path:5960## Artifact Inventory61| Item | Role | Type | Identifier |62| --- | --- | --- | --- |63| | original/input/output | | |6465## Tool Context66| Tool | Version/session | Input | Output or observation |67| --- | --- | --- | --- |68| | | | |6970## Observations71- ...7273## Inferences74- ...7576## Open Questions77- ...7879## Renames Or Transformations80| Original | New | Reason | Source |81| --- | --- | --- | --- |82| | | | |8384## Handoff85- Confirmed:86- Next check:87- Suggested owner skill:88```8990Read [references/analysis-records.md](references/analysis-records.md) when the session needs reusable artifact, environment, tool-context, transformation, symbol-map, signature-report, Mach-O-map, or version-diff records. Load only the shapes needed for the current workflow.9192## Writing Rules9394- Prefer short notes that can be extended over elaborate reports that go stale.95- Quote only the minimum generated output needed to anchor a finding.96- Say which artifact and tool support each important claim.97- Preserve disagreement between tools instead of smoothing it away.98- Do not place generated decompiler output beside original-source language unless the note clearly labels it as generated output.