Document
codewhale-hq/Codewhale
Write or update repository/product documentation: README, user guides, API docs, architecture, migration notes, and changelog material.
Interactive collaborative analysis with documented discussions, inline exploration, and evolving understanding.
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-file --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/analyze-with-file .claude/skills/analyze-with-file && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .claude/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-fileType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-file --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/analyze-with-file .agents/skills/analyze-with-file && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .agents/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-file --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/analyze-with-file .cursor/skills/analyze-with-file && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .cursor/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/catlog22/Claude-Code-Workflow.git --path .codex/skills/analyze-with-file--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-file --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/analyze-with-file .gemini/skills/analyze-with-file && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .gemini/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-fileInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/analyze-with-file .github/skills/analyze-with-file && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .github/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install catlog22/Claude-Code-Workflow analyze-with-file --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/analyze-with-file .opencode/skills/analyze-with-file && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "analyze-with-file" agent skill from https://github.com/catlog22/Claude-Code-Workflow/tree/main/.codex/skills/analyze-with-file into .opencode/skills/analyze-with-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-with-file", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
analyze-with-fileInteractive collaborative analysis with documented discussions, inline exploration, and evolving understanding.
Analyze With File is an agent skill from catlog22/Claude-Code-Workflow. Interactive collaborative analysis with documented discussions, inline exploration, and evolving understanding.
Its SKILL.md is about 9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: JSON-driven multi-agent cadence-team development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 07491b0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Analyze With File loads about 9k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 2,859 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from catlog22/Claude-Code-Workflow at commit 07491b0, republished under its MIT licence (© catlog22). 2,859 words, ~8,993 tokens.
.claude/skills/analyze-with-file/SKILL.md (or your agent's skills folder).Interactive collaborative analysis with documented discussion process. Records understanding evolution, facilitates multi-round Q&A, and uses inline search + external research for deep exploration.
Core flow: Topic → Explore → Discuss → Refine → Conclude → Next Step
Auto mode (-y): Auto-confirm exploration decisions, use recommended angles, skip interactive scoping.
| Flag | Default | Description |
|---|---|---|
-y, --yes | false | Auto-confirm all decisions |
--continue | false | Continue existing session |
--depth | standard | quick / standard / deep |
Session ID: ANL-{YYYY-MM-DD}-{slug}
topic.toLowerCase() → keep [a-z0-9\u4e00-\u9fa5], replace rest with -, max 40 chars{projectRoot}/.workflow/.analysis/ANL-{date}-{slug}/
├── discussion.md # Single source of truth: rounds, decisions, conclusions, synthesis
├── state.json # Session state: config, confidence, quality tracking
├── exploration-codebase.json # Codebase exploration: files, patterns, constraints
├── research.json # External research: best practices, pitfalls, sources
└── handoff.json # Structured handoff (only on "执行任务")| File | When Created | Purpose |
|---|---|---|
discussion.md | Phase 1 | All analysis content: session metadata, round-by-round findings, multi-perspective synthesis, decisions, intent coverage, conclusions, recommendations. Overwritten sections: ## Current Understanding. Appended sections: ## Discussion Timeline. |
state.json | Phase 0 | Machine-readable: current round, dimension scores, confidence history, quality tracking (pressure pass, challenge modes, stall counter), exploration metadata. Updated every round. |
exploration-codebase.json | Phase 2 | Codebase context: project_type, relevant_files[{path, relevance, summary, dimensions[]}], patterns[{pattern, files, description}], constraints[], integration_points[{location, description}], key_findings[], _metadata{timestamp, exploration_scope} |
research.json | Phase 2 | External research: findings[{finding, detail, confidence, source_url}], best_practices[{practice, rationale, source}], alternatives[{option, pros, cons, verdict}], pitfalls[{issue, mitigation, source}], codebase_gaps[{gap, current_approach, recommended_approach}], sources[{title, url, key_takeaway}] |
handoff.json | Phase 4 | Only on "执行任务": source, session_id, session_folder, summary, implementation_scope[{objective, rationale, priority, target_files[], acceptance_criteria[], change_summary}], code_anchors[], key_files[], key_findings[], decision_context[], exploration_artifacts{exploration_codebase, research} — keys align with workflow-lite-plan artifactMapping |
Phase 0: Session Setup
├─ Parse topic, flags, generate session ID
├─ Detect project root (git rev-parse --show-toplevel || pwd)
├─ Create session folder (or detect existing → continue)
├─ Initialize state.json + discussion.md
└─ functions.update_plan([phase-1..phase-4, next-step])
Phase 1: Topic Understanding
├─ Identify analysis dimensions from topic keywords
├─ Scope with user: focus, perspectives (1-4), depth
├─ Generate initial questions from dimensions
└─ Write initial sections to discussion.md
Phase 2: Exploration
├─ Load project specs (ccw spec load)
├─ Codebase search → exploration-codebase.json
├─ External research via web.run → research.json
├─ Multi-perspective analysis → write to discussion.md
├─ Context budget gate (>30 files → rank + trim)
├─ Initial intent coverage check
└─ Baseline confidence scoring → state.json
Phase 3: Interactive Discussion (max 5 rounds)
├─ Present findings + confidence + weakest dimension
├─ User direction: Deepen / Research / Adjust / Complete
├─ Cumulative context: always include prior findings
├─ Record-before-continue: write to discussion.md BEFORE state update
├─ Quality mechanisms:
│ ├─ Pressure pass (mandatory ≥1 before Phase 4)
│ ├─ Challenge injection (auto, round ≥2)
│ ├─ Stall detection (2 consecutive no-progress rounds)
│ └─ Re-score confidence → state.json
├─ Pre-synthesis readiness gate (on "Complete")
├─ Intent drift check (round ≥2)
└─ Update discussion.md: append round + overwrite Current Understanding
Phase 4: Synthesis & Terminal Gate
├─ Intent Coverage Verification (mandatory gate)
├─ Findings → Recommendations Traceability (mandatory gate)
├─ Write synthesis + conclusions to discussion.md
├─ Recommendation review with user
└─ Terminal gate: 执行任务 → handoff.json | 产出Issue | 完成{{ARGUMENTS}} for topic, flags (--depth, --continue, -y)git rev-parse --show-toplevel 2>/dev/null || pwdANL-{date}-{slug}, session folder: {projectRoot}/.workflow/.analysis/{sessionId}mkdir -p {sessionFolder}state.json:{
"session_id": "ANL-{date}-{slug}",
"topic": "...",
"depth": "standard",
"dimensions": [],
"perspectives": [],
"focus_areas": [],
"current_round": 0,
"current_phase": "setup",
"confidence": {
"dimensions": {},
"overall": 0,
"weakest": null,
"history": []
},
"quality": {
"pressure_pass_done": false,
"challenge_modes_used": [],
"stall_counter": 0,
"last_findings_count": 0,
"readiness_gate_passed": false,
"residual_risks": []
}
}functions.update_plan([
{ id: "phase-1", title: "Phase 1: Topic Understanding", status: "in_progress" },
{ id: "phase-2", title: "Phase 2: Exploration & Research", status: "pending" },
{ id: "phase-3", title: "Phase 3: Interactive Discussion", status: "pending" },
{ id: "phase-4", title: "Phase 4: Synthesis & Conclusion", status: "pending" },
{ id: "next-step", title: "GATE: Post-Completion Next Step", status: "pending" }
])Match topic keywords against Analysis Dimensions. If multiple match, include all. If none match, default to "architecture" + "implementation".
Single functions.request_user_input call with up to 3 questions (constraint: 1-4 questions, 2-4 options each):
Question 1 — Focus areas (multiSelect: true):
Question 2 — Perspectives (multiSelect: true):
Max 4 perspectives. Single perspective is default.
Question 3 — Depth (multiSelect: false):
Write the full initial template (see discussion.md Structure):
Update state.json with dimensions, perspectives, focus_areas, depth. Mark phase-1 completed, phase-2 in_progress.
All exploration done inline — no agent delegation.
Detect project type:
package.json → nodejs | go.mod → golang | Cargo.toml → rust | pyproject.toml → python | pom.xml → java | src/ exists → generic | else → noneIf codebase detected, load project metadata:
functions.exec_command('ccw spec load --category exploration')functions.exec_command('ccw spec load --category debug').workflow/specs/*.md for project conventionsSearch using: Grep, Glob, Read, mcp__ace-tool__search_context
Focus on: modules/components relevant to topic, code patterns/structure, integration points, config/dependencies.
Write findings to exploration-codebase.json with full schema:
project_type: detected typerelevant_files[]: {path, relevance, summary, dimensions[]}patterns[]: {pattern, files, description}constraints[]: architectural constraints foundintegration_points[]: {location, description}key_findings[]: main insights from code search_metadata: {timestamp, exploration_scope}Trigger condition: dimensions include architecture|comparison|decision|performance|security, OR topic matches best practice|pattern|vs|compare|approach|standard|library|framework.
Skip for purely internal codebase questions (e.g., "how does module X work").
Execute up to 3 web.run queries:
{topic} best practices {year}{topic} common pitfalls and known issues{topic} {dimension} patterns and recommendationsWrite findings to research.json with full schema:
findings[]: {finding, detail, confidence, source_url}best_practices[]: {practice, rationale, source}alternatives[]: {option, pros, cons, verdict}pitfalls[]: {issue, mitigation, source}codebase_gaps[]: {gap, current_approach, recommended_approach}sources[]: {title, url, key_takeaway}_metadata: {queries_executed, timestamp}Cross-reference: flag where codebase patterns diverge from research best practices as codebase_gaps.
Single perspective (default): Comprehensive analysis across all dimensions using exploration + research context. Write findings directly to discussion.md Round 1.
Multi-perspective (2-4 perspectives, serial): Analyze each perspective sequentially. For each perspective, write a summary subsection in discussion.md Round 1. Then append a synthesis subsection:
If exploration found > 30 relevant files in exploration-codebase.json:
exploration-codebase.json with trimmed list + _budget{original_count, summarized_count}Append to Discussion Timeline using Round Template:
Extract original user intents from discussion.md header. Check each against Round 1 findings:
Append to discussion.md: "接下来的讨论将重点关注未覆盖 (❌) 和进行中 (🔄) 的意图。"
Score each dimension on 5 weighted factors (each [0.0, 1.0]):
| Factor | Weight | Measures |
|---|---|---|
| findings_depth | 0.30 | How deep the findings go |
| evidence_strength | 0.25 | Hard evidence vs inference |
| coverage_breadth | 0.20 | How much of the dimension is covered |
| user_validation | 0.15 | User confirmed findings (starts at 0, increases in Phase 3) |
| consistency | 0.10 | Findings don't contradict |
Overall confidence = weighted average across dimensions. Identify weakest dimension.
Update state.json confidence section. Append confidence table to discussion.md:
#### Confidence Score (Baseline)
| Dimension | Depth | Evidence | Coverage | Validation | Consistency | **Score** |
|-----------|-------|----------|----------|------------|-------------|-----------|
| {dim} | {x} | {x} | {x} | 0.00 | {x} | **{x}** |
Overall: {N}% | Weakest: {dim} ({N}%)
> < 60%: 建议继续深入 | 60-80%: 可选深入或收敛 | > 80%: 建议收敛到结论Phase 2 exit criteria: exploration-codebase.json created (if codebase), research.json created (if topic warrants), discussion.md updated with Round 1, initial intent coverage check done, baseline confidence computed.
Mark phase-2 completed, phase-3 in_progress.
Max 5 rounds. Each round follows this sequence.
Every analysis action in Phase 3 MUST include a summary of ALL prior findings to avoid re-discovering known information:
## KNOWN FINDINGS (DO NOT re-discover)
- Established files: {list from exploration-codebase.json}
- Key findings: {from discussion.md rounds}
- Open questions: {remaining}
## NEW TASK: Focus ONLY on unexplored areas below.Round ≥ 2 preamble: 1-2 sentence recap of established consensus + last round's direction + confidence delta. Example: "到目前为止,我们已确认 [facts]。上一轮 [direction]。Confidence 从 52% 提升到 67%,security 维度仍需深入。"
Read latest confidence from state.json. Identify weakest dimension.
Present via functions.request_user_input (single question, multiSelect: false, 4 options):
Question header shows: Round {N} | Confidence: {N}% | 最弱: {dim} ({N}%)
Record-Before-Continue Rule: Each path below MUST write findings and discussion synthesis to discussion.md BEFORE proceeding to state update or next round.
Recording Checkpoint (all paths): Record user's original choice, impact on direction, and full Decision Record if direction changed.
Technical Solution Triggers: When an implementation approach is described with specific files/patterns, 2+ alternatives compared, or user confirms/rejects an approach → record using Technical Solution format.
Ambiguity Check: For each Technical Solution with Status "Proposed", verify no unresolved alternatives remain. If 2+ options without a chosen one → flag:
> **⚠️ Ambiguity**: [Solution] has [N] unresolved alternatives: [list]
> - **Needs**: [Decision criteria or exploration to resolve]Surface to user in next feedback round.
Ask sub-question via functions.request_user_input (multiSelect: false, max 4 total):
Execute inline search using Grep/Glob/Read/mcp__ace-tool__search_context. Merge new findings with prior context. Record confirmed assumptions and exploration angles.
Ask research topic via functions.request_user_input (max 4 options):
Execute web.run({search_query: "{topic} best practices {year}"}). Merge findings into research.json (append, don't overwrite). Record as Key Findings in discussion.md. Cross-reference with codebase; flag new codebase_gaps.
Ask new focus. Analyze from adjusted perspective. Compare new insights with prior analysis. Record as Decision: trigger, old→new direction, expected impact.
Trigger Pre-Synthesis Readiness Gate. If passed → exit to Phase 4. If blocked → user chooses to address gaps or accept risk (residual risks recorded in state.json + discussion.md).
Record why concluding at this round.
Append to Discussion Timeline using Round Template: User Input, Decision Log, Key Findings, Technical Solutions, Analysis Results, Corrected Assumptions, Open Items, Confidence Score, Narrative Synthesis.
Overwrite (not append) ## Current Understanding with latest consolidated state following Consolidation Rules.
Update ## Table of Contents with new Round N links.
Execute after documenting each round.
When quality.pressure_pass_done is false and current round has key findings:
Select the highest-confidence finding and apply the pressure ladder in sequence:
Stay on the same finding until validated or corrected — don't rotate for coverage. A finding that survives is promoted to high-confidence; one that doesn't is flagged.
Record in discussion.md:
#### Pressure Pass (Round N)
> **Target**: [finding]
> - **Confidence claimed**: [level] | **Evidence**: [assessment]
> - **Hidden assumption**: [identified]
> - **Boundary impact**: [tradeoff or scope consequence]
> - **Verdict**: [Confirmed with evidence / Weakened — needs more data / Corrected]Set quality.pressure_pass_done = true in state.json.
Each mode fires at most once per session. Track in quality.challenge_modes_used[].
| Mode | Trigger | Challenge |
|---|---|---|
| Devil's Advocate | Round 2+ AND any dimension confidence > 0.7 | "如果 [finding] 不成立,分析结论会如何改变?有什么证据可能推翻它?" |
| Scope Minimizer | Key findings count > 5 AND scope expanding (new dimensions added) | "哪些发现可以合并?最小可行结论集是什么?是否在分析不必要的方面?" |
| Root Cause Probe | User feedback contains causal language ("因为", "导致", "由于") | "这是根因还是症状?上游还有什么因素在起作用?" |
Record in discussion.md:
#### Challenge: {Mode}
> **Target**: [finding or observation]
> **Counter-scenario / Question**: [challenge content]
> **Result**: [survived / weakened / corrected]After each round, assess: new findings? corrected assumptions? confidence delta > 5%?
If NONE of these for 2 consecutive rounds (quality.stall_counter >= 2):
functions.request_user_input (3 options):Re-compute all dimension scores. user_validation factor increases as user confirms findings across rounds.
Update state.json: confidence.dimensions, confidence.overall, confidence.weakest, append to confidence.history[{round, overall, dimensions}].
Append to discussion.md:
#### Confidence Score (Round N)
Overall: {N}% ({+/-N}%) | Weakest: {dim} ({N}%)Triggered when user selects "分析完成". Block exit if ANY:
quality.pressure_pass_done is falseIf gaps found → present via functions.request_user_input (2 options):
quality.residual_risks[] + discussion.md, proceed to Phase 4Re-read original intents from discussion.md header. Compare with Phase 2 baseline:
If ⚠️ or ❌ exist → proactively surface: "以下原始意图尚未充分覆盖:[list]。是否需要调整优先级?"
Phase 3 exit criteria: Pressure pass completed ≥1, confidence scored each round, readiness gate passed (or risk accepted), challenge modes fired when triggers met, stall detection intervened if needed, discussion.md fully updated.
Mark phase-3 completed, phase-4 in_progress.
Write Intent Coverage Matrix to discussion.md:
### Intent Coverage Matrix
| # | Original Intent | Status | Where Addressed | Notes |
|---|----------------|--------|-----------------|-------|
| 1 | [text] | ✅ Addressed | Round N, Rec #M | |
| 2 | [text] | 🔀 Transformed | Round N → M | Original: X → Final: Y |
| 3 | [text] | ⚠️ Absorbed | Round N | Covered by Rec #M |
| 4 | [text] | ❌ Missed | — | Reason |Gate: ❌ items MUST be (a) addressed in an additional round, or (b) explicitly deferred by user confirmation.
Collect ALL actionable findings from every round. Sources: key findings with actionable implications, technical solutions (proposed/validated), identified gaps, corrected assumptions that imply fixes.
Map each to a disposition:
| Disposition | Meaning |
|---|---|
| recommendation | Converted to numbered recommendation |
| absorbed | Covered by another recommendation (specify which) |
| deferred | Out-of-scope with reason |
| informational | Pure insight, no action needed |
Gate: ALL findings must have a disposition. No null allowed.
Write to discussion.md:
### Findings Coverage Matrix
| # | Finding (Round) | Disposition | Target |
|---|----------------|-------------|--------|
| 1 | [finding] (R1) | recommendation | Rec #1 |
| 2 | [finding] (R2) | absorbed | → Rec #1 |
| 3 | [finding] (R3) | deferred | Low priority, future work |
| 4 | [finding] (R1) | informational | — |Append the following sections:
Synthesis & Conclusions:
{point, evidence, confidence: high|medium|low}action (imperative verb + target), rationale, priority, evidence_refs (file:line), steps[{description, target, verification}]{type: issue|task|research, summary}Current Understanding (Final) — overwrite with:
Decision Trail:
Session Statistics: total rounds, key findings count, dimensions covered, artifacts generated, decision count, final confidence score, quality signals summary (pressure pass, challenge modes used, stall events).
Update state.json with final confidence and quality signals.
Batch via functions.request_user_input — max 4 questions per call, ordered by priority high→medium→low:
Per recommendation, 3 options:
Record all review decisions to discussion.md + state.json.
Append Review Summary:
### Recommendation Review Summary
| # | Action | Priority | Steps | Status | Notes |
|---|--------|----------|-------|--------|-------|
| 1 | [action] | high | 3 | ✅ Accepted | |
| 2 | [action] | medium | 2 | ✏️ Modified | [notes] |
| 3 | [action] | low | 1 | ❌ Rejected | [reason] |Workflow is INCOMPLETE without this step.
Mark phase-4 completed, next-step in_progress.
functions.request_user_input (3 options):
Step A — Build scope: Filter recommendations where status is "accepted" or "modified". Sort by priority. For each: {objective, rationale, priority, target_files[], acceptance_criteria[], change_summary}.
Step B — User scope confirmation (skip in auto mode): Present scope summary, then functions.request_user_input (3 options):
Step C — Write handoff.json (schema aligned with workflow-lite-plan artifact bridge):
{
"source": "analyze-with-file",
"session_id": "...",
"session_folder": "...",
"summary": "...",
"implementation_scope": [
{ "objective": "...", "rationale": "...", "priority": "high|medium|low",
"target_files": [], "acceptance_criteria": [], "change_summary": "..." }
],
"code_anchors": [],
"key_files": [],
"key_findings": [],
"decision_context": [],
"exploration_artifacts": {
"exploration_codebase": "{sessionFolder}/exploration-codebase.json",
"research": "{sessionFolder}/research.json"
}
}Codex version has no separate explorations.json/perspectives.json (all in discussion.md). Only
exploration_codebaseandresearchare file-backed artifacts.
Step D — Append plan checklist to discussion.md:
## Plan Checklist
> **This is a plan only — no code was modified.**
- **Recommendations**: {count}
- **Generated**: {timestamp}
### 1. {objective}
- **Priority**: {level}
- **Rationale**: {reason}
- **Target files**: {list or TBD}
- **Acceptance criteria**: {list}
- [ ] Ready for executionFor each accepted recommendation, ccw issue create with:
title: recommendation actioncontext: action + rationale + evidence refspriority: high→2, medium/low→3source: "discovery"labels: analysis dimensionsDisplay created issue IDs with next step hint.
Display artifact paths, end.
Mark next-step completed. No source code modified throughout.
Record to discussion.md immediately on occurrence:
| Trigger | Target Section |
|---|---|
| Direction choice / scope adjustment | #### Decision Log |
| Key finding discovered | #### Key Findings |
| Assumption corrected | #### Corrected Assumptions |
| User feedback received | #### User Input |
| Disagreement or trade-off | #### Decision Log |
| Technical solution proposed/validated/rejected | #### Technical Solutions |
| Pressure pass executed | #### Pressure Pass |
| Challenge mode fired | #### Challenge |
Decision:
> **Decision**: [description]
> - **Context**: [trigger]
> - **Options considered**: [alternatives]
> - **Chosen**: [approach] — **Reason**: [rationale]
> - **Rejected**: [why others discarded]
> - **Impact**: [effect on direction/conclusions]Finding:
> **Finding**: [content]
> - **Confidence**: [High/Medium/Low] — **Why**: [evidence basis]
> - **Hypothesis Impact**: [Confirms/Refutes/Modifies] hypothesis "[name]"
> - **Scope**: [affected areas]Technical Solution (record when: implementation approach with specific files/patterns, 2+ alternatives compared, user confirms/modifies/rejects, concrete code change strategy emerges):
> **Solution**: [approach/pattern/implementation]
> - **Status**: [Proposed / Validated / Rejected]
> - **Problem**: [what it solves]
> - **Rationale**: [why this approach]
> - **Alternatives**: [other options, why not chosen]
> - **Evidence**: [file:line refs]
> - **Next Action**: [follow-up or none]Narrative Synthesis (append after each round):
### Round N: Narrative Synthesis
**起点**: 基于上一轮的 [conclusions/questions],本轮从 [starting point] 切入。
**关键进展**: [findings] [confirmed/refuted/modified] 了关于 [hypothesis] 的理解。
**决策影响**: 用户选择 [feedback type],分析方向 [adjusted/deepened/maintained]。
**当前理解**: 核心认知更新为 [updated understanding]。
**遗留问题**: [remaining questions]# Analysis Discussion
**Session**: {id} | **Topic**: {topic} | **Started**: {timestamp}
**Dimensions**: {list} | **Depth**: {level}
## Table of Contents
<!-- Auto-updated after each round/phase -->
## Current Understanding
<!-- OVERWRITE (not append) after each round. Follow Consolidation Rules. -->
### What We Established
### What Was Clarified
### Key Insights
## Analysis Context
- Focus areas: {list}
- Perspectives: {list}
- Depth: {level}
## Initial Questions
- {generated from topic + dimensions}
## Initial Decisions
> Record WHY these dimensions/focus areas were selected, what was excluded and why.
---
## Discussion Timeline
### Round 1 - Exploration ({timestamp})
#### Key Findings
#### Decision Log
#### Technical Solutions
#### Analysis Results
#### External Research
#### Multi-Perspective Synthesis
#### Intent Coverage Check
#### Confidence Score (Baseline)
#### Narrative Synthesis
### Round N - [Deepen|Research|Adjust] ({timestamp})
#### User Input
#### Decision Log
#### Key Findings
#### Pressure Pass
#### Challenge
#### Technical Solutions
#### Analysis Results
#### Corrected Assumptions
#### Open Items
#### Confidence Score (Round N)
#### Intent Coverage Check
#### Narrative Synthesis
---
## Synthesis & Conclusions
### Intent Coverage Matrix
### Findings Coverage Matrix
### Executive Summary
### Key Conclusions
### Recommendations
### Recommendation Review Summary
### Open Questions
## Decision Trail
## Plan Checklist (if 执行任务)
## Session StatisticsWhen overwriting ## Current Understanding:
| Rule | Description |
|---|---|
| Promote confirmed insights | Move validated findings to "What We Established" |
| Track corrections | Keep important |
| Focus on current state | What we know NOW, not the journey |
| No timeline repetition | Don't copy discussion details into consolidated section |
| Preserve key learnings | Keep insights valuable for future reference |
Bad: "In round 1 we discussed X, then in round 2 user said Y..." Good: Structured subsections (Established / Clarified / Key Insights) with current-state facts only.
| Dimension | Keywords |
|---|---|
| architecture | 架构, architecture, design, structure, 设计, pattern |
| implementation | 实现, implement, code, coding, 代码, logic |
| performance | 性能, performance, optimize, bottleneck, 优化, speed |
| security | 安全, security, auth, permission, 权限, vulnerability |
| concept | 概念, concept, theory, principle, 原理, understand |
| comparison | 比较, compare, vs, difference, 区别, versus |
| decision | 决策, decision, choice, tradeoff, 选择, trade-off |
| Perspective | Focus | Best For |
|---|---|---|
| Technical | Implementation patterns, code structure, feasibility | How and technical details |
| Architectural | System design, scalability, component interactions | Structure and organization |
| Security | Security patterns, vulnerabilities, access control | Security risks |
| Performance | Bottlenecks, optimization, resource utilization | Performance issues |
| Depth | Scope |
|---|---|
| Quick | Surface level, minimal exploration |
| Standard | Balanced analysis with good coverage (default) |
| Deep | Comprehensive multi-round investigation |
Dynamic focus options generated from matched dimensions:
| Dimension | Possible Directions |
|---|---|
| architecture | System Design, Component Interactions, Technology Choices, Integration Points, Design Patterns, Scalability Strategy |
| implementation | Code Structure, Implementation Details, Code Patterns, Error Handling, Testing Approach, Algorithm Analysis |
| performance | Performance Bottlenecks, Optimization Opportunities, Resource Utilization, Caching Strategy, Concurrency Issues |
| security | Security Vulnerabilities, Authentication/Authorization, Access Control, Data Protection, Input Validation |
| concept | Conceptual Foundation, Core Mechanisms, Fundamental Patterns, Theory & Principles, Trade-offs & Reasoning |
| comparison | Solution Comparison, Pros & Cons Analysis, Technology Evaluation, Approach Differences |
| decision | Decision Criteria, Trade-off Analysis, Risk Assessment, Impact Analysis, Implementation Implications |
Present 2-3 top directions per matched dimension, allow multi-select and custom directions.
| Situation | Action | Recovery |
|---|---|---|
| No codebase detected | Pure topic analysis | Skip codebase search |
| Codebase search fails | Continue with available context | Note limitation in discussion.md |
| No relevant findings | Broaden keywords | Ask user for clarification |
| User timeout | Save state | Resume with --continue |
| Max rounds reached (5) | Force synthesis | Highlight remaining questions |
| Session folder conflict | Append timestamp suffix | Create unique folder |
| No recommendations generated | No plan to generate | Inform user, suggest alternative |
| Web research fails | Codebase-only analysis | Note limitation, flag as codebase_gaps |
| Research conflicts with codebase | Flag as codebase_gaps | Surface divergence for user review |
| Analysis stalls (2+ rounds) | Auto-inject challenge | User: switch dimension / research / converge |
| Readiness gate blocks exit | Show gap summary | User addresses gaps or accepts risk |
| Context budget exceeded | Rank + trim to top 30 | Note in discussion.md |
Use this skill when: complex topic exploration, multi-round understanding refinement, decision-making with multiple perspectives, building shared understanding before implementation, need documented analysis trail with external research.
Consider alternatives:
debug-with-filebrainstorm-with-filelite-planNow execute the analyze-with-file workflow for topic: $TOPIC
© catlog22, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .codex/skills/analyze-with-file of catlog22/Claude-Code-Workflow.
Open the folder on GitHubat commit 07491b0
Analyze With File next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Analyze With File this skillcatlog22/Claude-Code-Workflow | 2.1k | — | ~9k | Automated safety check: Pass | MIT | |
| Documentcodewhale-hq/Codewhale | 41k | — | ~170 | Automated safety check: Pass | MIT | |
| Explorersupabase/supabase | 111k | — | ~845 | Automated safety check: Pass | Apache-2.0 | |
| Documentsasgeirtj/system_prompts_leaks | 69k | — | ~1.2k | Automated safety check: Pass | CC0-1.0 | |
| Document Generatorgarrytan/gstack | 136k | — | ~11k | Automated safety check: Notes | MIT | |
| Nutrient Document Processingaffaan-m/ECC | 276k | 4 repos | ~1.5k | Automated safety check: Pass | MIT |
codewhale-hq/Codewhale
Write or update repository/product documentation: README, user guides, API docs, architecture, migration notes, and changelog material.
supabase/supabase
Build and modify Studio Explorer surfaces, including notebooks, chats, SQL snippets, query cells, and their shared toolbar patterns.
asgeirtj/system_prompts_leaks
Help choose a written document's audience, purpose, structure, evidence, or destination.
garrytan/gstack
Writes missing documentation from scratch for a feature, a module or a whole project, organized as tutorial, how-to, reference and explanation pages.
affaan-m/ECC
Process, convert, OCR, extract, redact, sign, and fill documents using the Nutrient DWS API.
openclaw/openclaw
Build and review high-quality technical docs as well as agent instruction files in your repository.
catlog22/Claude-Code-Workflow
CCW command help system. An agent skill from catlog22/Claude-Code-Workflow.
catlog22/Claude-Code-Workflow
Unified brainstorming skill with dual-mode operation — auto mode (framework generation, parallel multi-role analysis, cross-role synthesis) and single role analysis.
catlog22/Claude-Code-Workflow
Chain-based CCW workflow orchestrator. An agent skill from catlog22/Claude-Code-Workflow.
catlog22/Claude-Code-Workflow
Check workflow delegation prompts against agent role definitions for content separation violations.
catlog22/Claude-Code-Workflow
Systematic debugging with Iron Law methodology. An agent skill from catlog22/Claude-Code-Workflow.
catlog22/Claude-Code-Workflow
Unified issue discovery and creation. An agent skill from catlog22/Claude-Code-Workflow.
Interactive collaborative analysis with documented discussions, inline exploration, and evolving understanding. Analyze With File is an agent skill from catlog22/Claude-Code-Workflow. Interactive collaborative analysis with documented discussions, inline exploration, and evolving understanding.
Run `npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a claude-code`. Or copy the skill folder (.codex/skills/analyze-with-file in catlog22/Claude-Code-Workflow) into .claude/skills/analyze-with-file in your project. Claude Code loads it when a task matches its description.
Run `npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a codex`. Or copy the skill folder (.codex/skills/analyze-with-file in catlog22/Claude-Code-Workflow) into .agents/skills/analyze-with-file in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add catlog22/Claude-Code-Workflow --skill analyze-with-file -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyze-with-file, .gemini/skills/analyze-with-file, .github/skills/analyze-with-file and .opencode/skills/analyze-with-file in your project.
Going by SKILL.md and its folder, Analyze With File needs the command-line tools its instructions call (git). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Analyze With File is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 9k tokens (SKILL.md is roughly 36k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Analyze With File: Document (codewhale-hq/Codewhale, 41k stars), Explorer (supabase/supabase, 111k stars), Documents (asgeirtj/system_prompts_leaks, 69k stars) and Document Generator (garrytan/gstack, 136k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
catlog22 (a GitHub user) maintains it in catlog22/Claude-Code-Workflow, which has 2,130 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on June 18, 2026.
Source: catlog22/Claude-Code-Workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.