deep-analysis-29b724 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited deep-analysis-29b724 (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.
Execute a structured exploration + synthesis workflow using agent teams with hub-and-spoke coordination. The lead performs rapid reconnaissance to generate dynamic focus areas, composes a team plan for review, workers explore independently, and a synthesizer merges findings with deep investigation.
This skill can be invoked standalone or loaded by other skills as a reusable building block. Approval behavior is configurable.
Goal: Determine whether the team plan requires user approval before execution.
deep-analysis section with these settings:direct-invocation-approval: Whether to require approval when invoked directly (default: true)invocation-by-skill-approval: Whether to require approval when loaded by another skill (default: false)cache-ttl-hours: Hours before exploration cache expires; 0 disables caching (default: 24)enable-checkpointing: Write session checkpoints at phase boundaries (default: true)enable-progress-indicators: Display phase progress messages (default: true)REQUIRE_APPROVAL = direct-invocation-approval (if direct) or invocation-by-skill-approval (if skill-invoked)CACHE_TTL = cache-ttl-hours valueENABLE_CHECKPOINTING = enable-checkpointing valueENABLE_PROGRESS = enable-progress-indicators valueGoal: Check for cached exploration results, detect interrupted sessions, and initialize the session directory.
Skip this phase entirely if CACHE_TTL = 0 AND ENABLE_CHECKPOINTING = false.
If CACHE_TTL > 0:
.agents/sessions/exploration-cache/manifest.md existsanalysis_context matches the current analysis context (or is a superset)codebase_path matches the current working directorytimestamp is within CACHE_TTL hours of nowconfig_checksum have not been modified since the cache was written (check mod-times of package.json, tsconfig.json, pyproject.toml, etc.)CACHE_HIT = true. Read cached synthesis.md and recon_summary.md. Skip to Phase 6 step 2 (present/return results).CACHE_HIT = true, skip to Phase 6 step 2CACHE_HIT = false, proceed normallyCACHE_HIT = falseIf ENABLE_CHECKPOINTING = true:
.agents/sessions/__da_live__/checkpoint.md existslast_completed_phase.agents/sessions/da-interrupted-{timestamp}/ and proceed normallyIf ENABLE_CHECKPOINTING = true AND CACHE_HIT = false:
.agents/sessions/__da_live__/ directorycheckpoint.md: ## Deep Analysis Session
- **analysis_context**: [context from arguments or caller]
- **codebase_path**: [current working directory]
- **started**: [ISO timestamp]
- **current_phase**: 0
- **status**: initializedprogress.md: ## Deep Analysis Progress
- **Phase**: 0 of 6
- **Status**: Session initialized
### Phase Log
- [timestamp] Phase 0: Session initializedGoal: Perform codebase reconnaissance, generate dynamic focus areas, and compose a team plan.
PATH = current working directoryPATH" with the analysis contextQuickly map the codebase structure. This should take 1-2 minutes, not deep investigation.
package.json, tsconfig.json, pyproject.toml, Cargo.toml, go.mod, etc.) to identify primary language(s) and framework(s)src/**/*.ts, **/*.py to gauge the size and shape of different areasREADME.md, CLAUDE.md, or similar docs if they exist for project contextFallback: If reconnaissance fails (empty project, unusual structure, errors), use the static focus area templates from Step 3b.
Based on reconnaissance findings, create focus areas tailored to the actual codebase. Default to 3 focus areas, but adjust based on codebase size and complexity (2 for small projects, up to 4 for large ones).
a) Dynamic focus areas (default):
Each focus area should include:
For feature-focused analysis, focus areas should track the feature's actual footprint:
Example:
Focus 1: "API routes and middleware in src/api/ and src/middleware/" (auth-related endpoints, request handling)
Focus 2: "React components in src/pages/profile/ and src/components/user/" (UI layer for user profiles)
Focus 3: "Data models and services in src/db/ and src/services/" (persistence and business logic)For general analysis, focus areas should map to the codebase's actual structure:
Example:
Focus 1: "Next.js app layer in apps/web/src/" (pages, components, app router)
Focus 2: "Shared library in packages/core/src/" (utilities, types, shared logic)
Focus 3: "CLI and tooling in packages/cli/" (commands, configuration, build)b) Static fallback focus areas (only if recon failed):
For feature-focused analysis:
Focus 1: Explore entry points and user-facing code related to the context
Focus 2: Explore data models, schemas, and storage related to the context
Focus 3: Explore utilities, helpers, and shared infrastructureFor general codebase understanding:
Focus 1: Explore application structure, entry points, and core logic
Focus 2: Explore configuration, infrastructure, and shared utilities
Focus 3: Explore shared utilities, patterns, and cross-cutting concernsAssemble a structured plan document from the reconnaissance and focus area findings:
## Team Plan: Deep Analysis
### Analysis Context
[context from Step 1]
### Reconnaissance Summary
- **Project:** [name/type]
- **Primary language/framework:** [detected]
- **Codebase size:** [file counts, key directories]
- **Key observations:** [2-3 bullets]
### Focus Areas
#### Focus Area 1: [Label]
- **Directories:** [list]
- **Starting files:** [2-3 files]
- **Search patterns:** [patterns]
- **Complexity:** [Low/Medium/High]
- **Assigned to:** explorer-1
#### Focus Area 2: [Label]
- **Directories:** [list]
- **Starting files:** [2-3 files]
- **Search patterns:** [patterns]
- **Complexity:** [Low/Medium/High]
- **Assigned to:** explorer-2
[... repeated for each focus area]
### Agent Composition
| Role | Count | Purpose |
|------|-------|---------|
| Explorer | [N] | Independent focus area exploration |
| Synthesizer | 1 | Merge findings, deep investigation |
### Task Dependencies
- Exploration Tasks 1-[N]: parallel (no dependencies)
- Synthesis Task: blocked by all exploration tasksENABLE_CHECKPOINTING = true):.agents/sessions/__da_live__/checkpoint.md: set current_phase: 1.agents/sessions/__da_live__/team_plan.md with the full team plan from Step 4.agents/sessions/__da_live__/recon_summary.md with reconnaissance findings from Step 2progress.md: [timestamp] Phase 1: Reconnaissance complete — [N] focus areas identifiedGoal: Present the team plan for user review and approval before allocating resources.
REQUIRE_APPROVAL = falseSkip to Phase 3 with a brief note: "Auto-approving team plan (skill-invoked mode). Proceeding with [N] explorers and 1 synthesizer."
REQUIRE_APPROVAL = trueENABLE_CHECKPOINTING = true):.agents/sessions/__da_live__/checkpoint.md: set current_phase: 2, record approval_mode (approved/auto-approved)progress.md: [timestamp] Phase 2: Plan approved (mode: [approval_mode])Goal: Create the team, spawn agents, create tasks, and assign work using the approved plan.
deep-analysis-{timestamp} (e.g., deep-analysis-1707300000)Spawn agents based on the approved plan:
agents/code-explorer.md for instructions)explorer-1, explorer-2, ... explorer-Nagents/code-synthesizer.md for instructions)synthesizerCreate a task for each item based on the approved plan's focus areas:
For each exploration task, apply the following status-guarded assignment:
pending AND owner is empty"Your exploration task [ID] is assigned. Focus area: [label]. Directories: [list]. Starting files: [list]. Search patterns: [list]. Begin exploration now."
Never re-assign a completed or in-progress task.
ENABLE_CHECKPOINTING = true):.agents/sessions/__da_live__/checkpoint.md: set current_phase: 3, record team_name, explorer_names (list), task_ids (map of explorer to task ID), synthesis_task_idprogress.md: [timestamp] Phase 3: Team assembled — [N] explorers, 1 synthesizerGoal: Workers explore their assigned areas independently.
After assigning exploration tasks, monitor progress with status-aware tracking:
ENABLE_CHECKPOINTING = true, write explorer-{N}-findings.md to .agents/sessions/__da_live__/ and update checkpoint.Never re-assign a completed or in-progress task. This is the primary duplicate prevention mechanism.
Update the progress display as explorers complete.
Goal: Verify exploration completeness, launch synthesis with deep investigation.
This is a structural check, not a quality assessment:
"All exploration tasks are complete. Your synthesis task is now assigned.
Analysis context: [analysis context] Codebase path: [PATH]
Recon findings from planning phase:
The workers are: [list of explorer names from the approved plan]. You can message them with follow-up questions if you find conflicts or gaps in their findings.
You have shell access for deep investigation — use it for git history analysis, dependency trees, static analysis, or any investigation that file reading and searching cannot handle.
Read the completed exploration tasks to access their reports, then synthesize into a unified analysis. Evaluate completeness before finalizing."
ENABLE_CHECKPOINTING = true):.agents/sessions/__da_live__/checkpoint.md: set current_phase: 5.agents/sessions/__da_live__/synthesis.md with the synthesis resultsprogress.md: [timestamp] Phase 5: Synthesis completeGoal: Collect results, present to user, and tear down the team.
CACHE_TTL > 0):.agents/sessions/exploration-cache/ directory (overwrite if exists)manifest.md: ## Exploration Cache Manifest
- **analysis_context**: [the analysis context used]
- **codebase_path**: [current working directory]
- **timestamp**: [ISO timestamp]
- **config_checksum**: [comma-separated list of config files and their mod-times]
- **ttl_hours**: [CACHE_TTL value]
- **explorer_count**: [N]synthesis.md with the full synthesis outputrecon_summary.md with the Phase 1 reconnaissance findingsexplorer-{N}-findings.md for each explorer's findings (if not already persisted from Phase 4 checkpoints)Send shutdown requests to all spawned teammates (iterate over the actual agents from the approved plan).
ENABLE_CHECKPOINTING = true: Move .agents/sessions/__da_live__/ to .agents/sessions/da-{timestamp}/If any phase fails:
When resuming from an interrupted session (detected in Phase 0 Step 2), use the following per-phase strategy:
| Interrupted At | Recovery Strategy |
|---|---|
| Phase 1 | Restart from Phase 1 (reconnaissance is fast, ~1-2 min) |
| Phase 2 | Load saved team_plan.md from session dir, re-present for approval |
| Phase 3 | Load approved plan from checkpoint, restart team assembly |
| Phase 4 | Read completed explorer-{N}-findings.md files from session dir. Only spawn and assign explorers whose findings files are missing. Add existing findings to synthesizer context. |
| Phase 5 | Load all explorer findings from session dir. Spawn a fresh synthesizer and launch synthesis with the persisted findings. |
| Phase 6 | Load synthesis.md from session dir. Proceed directly to present/return results and cleanup. |
Recovery procedure:
checkpoint.md to determine last_completed_phase and session state (team_name, explorer_names, task_ids)last_completed_phase + 1 using the loaded stateexplorer-{N}-findings.md files against expected explorer list to determine which explorers still need to runThis skill uses the following nested agents:
Code Explorer agents need:
Code Synthesizer agent needs:
| Parameter | Default | Description |
|---|---|---|
direct-invocation-approval | true | Require plan approval when invoked directly |
invocation-by-skill-approval | false | Require approval when loaded by another skill |
cache-ttl-hours | 24 | Hours before exploration cache expires; 0 disables |
enable-checkpointing | true | Write session checkpoints at phase boundaries |
enable-progress-indicators | true | Display phase progress messages |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.