一键导入
martinizing
Roger Martin strategic alignment audit for code investment decisions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Roger Martin strategic alignment audit for code investment decisions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Batch-verify and delete dead code: rg-confirm zero callers for N symbols, delete files, run the build once, stage results.
Run benchmarks and check regressions, add benchmark gating to CI, or audit GitHub Actions workflows. Determines mode from user intent.
Batch-apply findings from the most recent --local review. One confirmation, one test run.
Orchestrated code review of git diff using parallel agents. Standard mode (diff-scoped) or full mode (adds Roslyn semantic analysis). Produces severity-grouped plan.
Unified code review: --local (diff review), --pr (adversarial PR review), --apply (batch fixes from last review).
Audit .NET solution health across 13 dimensions: dependency graph, solution sync, CPM compliance, package health, framework consistency, IVT & encapsulation, build config, analyzer config, NuGet config, suppression hygiene, output type & AOT, public API surface, and lock files & pruning. Works with any .NET solution (.slnx or .sln). Parses all config files once, spawns 3 parallel agents, and produces a severity-grouped report with a Mermaid dependency graph. Triggers on: solution audit, audit solution, project graph, dependency audit, solution health, audit projects, check solution.
| name | martinizing |
| description | Roger Martin strategic alignment audit for code investment decisions. |
| when_to_use | martinize, martinizing, strategic audit, roger martin, code as strategy, strategy review, investment mismatch, capability analysis, strategic alignment, where should I invest, feature gap analysis, what's table stakes. |
| argument-hint | <repo-path> |
| allowed-tools | Read, Glob, Grep, Bash, Agent |
Reads the code as strategy — interprets investment levels, architecture, and capability chains as a set of revealed strategic bets, surfacing choices, investment mismatches, and capability gaps through Roger Martin's lens. Unlike a technical-recommendations audit, it never checks code against per-skill rules.
For the full finding category definitions, Phase 3 agent prompt template, and Phase 4 report format, see references/scoring-rubric.md.
/martinizing # Audit current working directory
/martinizing ./src # Audit specific path
/martinizing /path/to/repo # Audit any repo
/martinizing --resume # Resume from last checkpoint in .claude/tmp/martinizing/state.md
One optional argument: the code path to audit. Defaults to current working directory.
This skill audits code only — it does not read or modify documentation files.
{YYYY-MM-DD}-{repo-slug}.md. These are permanent project memory — not deleted with .claude/tmp/martinizing/.Before doing anything else, check for an in-progress run:
[ -f .claude/tmp/martinizing/state.md ] && cat .claude/tmp/martinizing/state.md
If state.md exists, read it to determine which phases are DONE, skip them, and load
referenced intermediate files:
DONE, load strategic profile from .claude/tmp/martinizing/strategic-profile.mdDONE, load merged findings from .claude/tmp/martinizing/findings.mdIf state.md does not exist, start fresh: mkdir -p .claude/tmp/martinizing
Set the report output path:
REPORT_PATH="plans/martinizing-$(scripts/ts.sh | cut -dT -f1).md"
Append after each phase completes:
- Phase 1 (Discover): DONE — {N files, key language/framework}- Phase 2 (Strategy): DONE — {N differentiators → strategic-profile.md}; write strategic profile to .claude/tmp/martinizing/strategic-profile.md- Phase 2a (Classify): DONE — {N strategic, M imperative}- Phase 3 (Audit): DONE — {N findings across N agents → findings.md}; write merged agent findings to .claude/tmp/martinizing/findings.md- Phase 4 (Synthesize): DONE — report written to $REPORT_PATH- Phase 4.5 (Lode): DONE — strategic profile written to lode/strategy/{date}-{repo-slug}.mdCleanup: Delete .claude/tmp/martinizing/ when Phase 5 completes. Lode output at lode/strategy/ is not deleted — it is permanent project memory.
Run bash directly — file counts by language (fd -e cs src/ | wc -l), key modules (ls src/), project structure (fd -e csproj src/ --max-depth 2).
Synthesize under 20 lines: Languages, Frameworks, key src/ dirs, entry points, test projects, namespaces. Don't read documentation files.
Step 2-pre: Dead capability scan (Roslyn MCP)
Before launching the Explore agent, run mcp__cwm-roslyn-navigator__find_dead_code scoped to <repo-path>/src/ to get a list of public types/members with zero call sites. Record as DEAD_CAPABILITY candidates. Pass the symbol list into the Explore agent as Q4 context. If the Roslyn navigator MCP is unavailable, fall back to scripts/find.sh --callers spot-checks on suspect public types.
Scoping: point at the audited
src/path, not the solution root — test helpers produce false positives.
Launch an Explore agent to answer the Strategy Choice Cascade — five questions, each constraining the next. Full framework detail (per-question tests, code-evidence mapping, AI Strategy Cascade): references/cascade.md. Brief the agent on all five; the code-evidence-to-question mapping is in the rubric's § Audit Framework table.
STRATEGIC_CONFUSION if nothing de-prioritized)DEPENDENCY_LEVERAGE) and WWHTBT.BARNACLE)? Is there portfolio governance?Output: Strategic profile structured as the 5 Cascade answers, plus: dead capabilities list, WTP dimensions, dependency leverage risks, WWHTBT conditions for the primary WTP/HTW, keystone capability identification.
Cascade coherence check (after populating all 5): verify each level coheres with the one above. Flag STRATEGIC_CONFUSION when adjacent levels contradict. See references/scoring-rubric.md § Cascading Coherence Test.
Plan vs. Strategy check: Does the cascade describe a coherent bet on customer action, or is it a list of funded initiatives with no unifying competitive logic? If the latter, note in the strategic profile that the codebase reveals a plan, not a strategy, per Martin's "A Plan Is Not a Strategy" distinction.
Apply the "not stupid on its face" test to each revealed differentiator to classify as Strategic differentiator vs Operating imperative. See references/scoring-rubric.md for the classification rubric.
After individual classification, run the "playing both sides" check: do any pair of
differentiators signal conflicting competitive positions (cost leadership signals alongside
premium differentiation signals)? Flag as STRATEGIC_CONFUSION if found — pursuing both
simultaneously produces mediocrity on both dimensions. See rubric for the signal table.
Launch parallel Explore agents (max 6, one per architectural concern):
For the full agent prompt template, see references/scoring-rubric.md.
Combine all agent results into a single prioritized report organized by:
Present the strategic profile first so the user sees how the code was interpreted. Full report format in references/scoring-rubric.md.
Write the full report to $REPORT_PATH.
Write the strategic profile to lode/strategy/ using the template in references/lode-template.md. Runs after Phase 4 report, before Phase 5.
Invoke the dev-planning skill with a feature name derived from the primary finding category
(e.g., martinizing-investment-alignment or martinizing-chain-repair). Provide as the
feature description a concise summary of the strategic profile and ranked findings from Phase 4
so dev-planning can research the codebase with full context.
The plan phases should mirror the Phase 4 report structure:
Present the plan to the user. Begin implementation only with approval.
Skill-specific workflow rules (the Martin strategy theory behind these — angst, WWHTBT, plan-vs-strategy, AI cascade, customer orientation — lives in references/cascade.md):
DEAD_CAPABILITY, not "implemented"