assess-form
关于
The `assess-form` skill evaluates a system's current architecture to identify transformation pressure and classify its readiness for change. It performs structural inventory, pressure mapping, and rigidity assessment to provide a starting point before major architectural work. Use it when a system feels stuck, when facing growth or tech debt pressure, or for periodic health checks on long-lived systems.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/assess-form在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Assess Form
Evaluate system's current structural form — its architecture, rigidity, pressure points, capacity for change — to determine transformation readiness before initiating metamorphosis.
When Use
- Before any significant architectural change to understand starting point
- System feels "stuck" but reasons unclear
- External pressure (growth, market shift, tech debt) mounting but response uncertain
- Assessing whether proposed transformation feasible given current form
- Periodic health checks for long-lived systems (annual form assessment)
- Complementing
adapt-architecture— assess first, then transform
Inputs
- Required: System to assess (codebase, organization, infrastructure, process)
- Optional: Proposed transformation direction (what might system need to become?)
- Optional: Known pain points or pressure sources
- Optional: Previous transformation attempts and their outcomes
- Optional: Time horizon for potential transformation
- Optional: Available resources for transformation effort
Steps
Step 1: Inventory Current Form
Catalog system's structural elements without judgment — understand what exists before evaluating it.
- Map structural components:
- Modules: distinct functional units (services, teams, packages, departments)
- Interfaces: how modules connect (APIs, protocols, contracts, reporting lines)
- Data flows: how information moves through system
- Dependencies: what depends on what (direct, transitive, circular)
- Load-bearing structures: components that everything else relies on
- Document form's age and history:
- When was each major component introduced?
- Which components have changed recently vs. remained static?
- What is "geological layer" structure (old core, newer additions, recent patches)?
- Identify form's "skeleton" vs. "flesh":
- Skeleton: structural decisions extremely costly to change (language, database, deployment model)
- Flesh: functional decisions that can change more easily (business logic, UI, configuration)
Structural Inventory Template:
┌──────────────┬──────────┬────────────┬───────────────────┬──────────┐
│ Component │ Age │ Last │ Dependencies │ Type │
│ │ │ Modified │ (in / out) │ │
├──────────────┼──────────┼────────────┼───────────────────┼──────────┤
│ Auth service │ 3 years │ 6 months │ In: 12 / Out: 3 │ Skeleton │
│ Dashboard UI │ 1 year │ 2 weeks │ In: 2 / Out: 5 │ Flesh │
│ Data pipeline│ 4 years │ 1 year │ In: 3 / Out: 8 │ Skeleton │
│ Config store │ 2 years │ 3 months │ In: 0 / Out: 15 │ Skeleton │
└──────────────┴──────────┴────────────┴───────────────────┴──────────┘
Got: Complete structural inventory showing components, their ages, modification recency, dependency profiles, classification as skeleton or flesh. This is "X-ray" of current form.
If fail: Inventory incomplete (components unknown or undocumented)? That itself is finding — form has opacity, transformation risk. Document what you can, flag unknowns, plan discovery for gaps.
Step 2: Map Transformation Pressure
Identify forces pushing system toward change and forces resisting it.
- Catalog external pressures (forces demanding change):
- Growth pressure: current form can't handle increasing load
- Market pressure: competitors or users demand capabilities current form can't support
- Technology pressure: underlying technology becoming obsolete or unsupported
- Regulatory pressure: compliance requirements current form doesn't meet
- Integration pressure: must connect with systems current form wasn't designed for
- Catalog internal pressures (forces demanding change from within):
- Technical debt: accumulated shortcuts that slow development
- Knowledge concentration: critical knowledge held by too few people
- Morale pressure: team frustration with current form
- Operational burden: maintenance cost consuming resources that should go to development
- Catalog resistance forces (forces opposing change):
- Inertia: existing form works "well enough"
- Dependency lock-in: too many things depend on current form
- Knowledge loss risk: transformation might destroy institutional knowledge
- Cost: transformation requires investment with uncertain return
- Fear: previous transformation attempts failed
Got: Pressure map showing direction and magnitude of forces acting on system. Transformation pressure significantly exceeds resistance? Transformation overdue. Resistance significantly exceeds pressure? Transformation will fail without first reducing resistance.
If fail: Pressure mapping produces balanced picture (neither strong pressure nor strong resistance)? System may not need transformation — or analysis surface-level. Dig deeper: interview stakeholders, measure specific pain points, project forward 12-18 months. What pressures will intensify?
Step 3: Assess Structural Rigidity
Determine how flexible or rigid current form is — can it bend, or will it break?
- Test interface flexibility:
- Can modules be replaced without cascading changes? (loose coupling = flexible)
- Are interfaces well-defined and stable? (contract clarity = flexible)
- How many "god modules" exist (modules that everything depends on)? (concentration = rigid)
- Test data flexibility:
- Is data migration straightforward? (schema evolution tools, versioning)
- Are data formats standardized or bespoke? (bespoke = rigid)
- How entangled is business logic with data structure? (entangled = rigid)
- Test process flexibility:
- Can team ship changes quickly? (deployment pipeline health)
- Is test suite comprehensive? (safety net for change)
- How many "don't touch" components exist? (forbidden zones = rigid)
- Calculate rigidity score:
Rigidity Assessment:
┌──────────────────────┬─────┬──────────┬──────┬──────────────────────┐
│ Dimension │ Low │ Moderate │ High │ Your Assessment │
├──────────────────────┼─────┼──────────┼──────┼──────────────────────┤
│ Interface coupling │ 1 │ 2 │ 3 │ ___ │
│ God module count │ 1 │ 2 │ 3 │ ___ │
│ Data entanglement │ 1 │ 2 │ 3 │ ___ │
│ Deployment friction │ 1 │ 2 │ 3 │ ___ │
│ Test coverage gaps │ 1 │ 2 │ 3 │ ___ │
│ "Don't touch" zones │ 1 │ 2 │ 3 │ ___ │
├──────────────────────┼─────┴──────────┴──────┼──────────────────────┤
│ Total (max 18) │ 6-9: flexible │ ___ │
│ │ 10-13: moderate │ │
│ │ 14-18: rigid │ │
└──────────────────────┴───────────────────────┴──────────────────────┘
Got: Rigidity score that quantifies how much structural resistance transformation will encounter. Flexible systems (6-9) can transform incrementally. Rigid systems (14-18) need dissolution before reconstruction (see dissolve-form).
If fail: Rigidity assessment inconclusive (moderate score but unclear where real problems are)? Focus on highest-scoring dimensions. System can be flexible overall but have one extremely rigid component that blocks transformation. Target that component specifically.
Step 4: Estimate Change Capacity
Assess system's (and team's) ability to absorb and execute transformation.
- Available transformation energy:
- What percentage of team capacity can be allocated to transformation?
- Is there organizational support (budget, mandate, patience)?
- Are right skills available (architecture, migration, testing)?
- Change absorption rate:
- How many changes can system absorb per time unit without destabilizing?
- What is recovery time after significant change?
- Is there staging/canary mechanism for incremental transformation?
- Transformation experience:
- Has team successfully transformed similar systems before?
- Are there transformation tools and practices in place (feature flags, strangler fig, blue-green)?
- What is team's risk tolerance?
- Calculate change capacity:
- High capacity: dedicated team, strong tooling, prior experience, organizational support
- Moderate capacity: part-time allocation, some tooling, limited experience
- Low capacity: no dedicated resources, no tooling, no experience, resistant organization
Got: Change capacity assessment that indicates whether system/team can execute proposed transformation given current resources, skills, organizational support.
If fail: Change capacity low but transformation pressure high? First transformation isn't system — it's team's capability. Invest in tooling, training, organizational buy-in before attempting architectural transformation.
Step 5: Classify Transformation Readiness
Combine pressure, rigidity, capacity assessments into readiness classification.
- Plot system on readiness matrix:
Transformation Readiness Matrix:
┌─────────────────┬────────────────────────┬────────────────────────┐
│ │ Low Rigidity │ High Rigidity │
├─────────────────┼────────────────────────┼────────────────────────┤
│ High Pressure │ READY — Transform now │ PREPARE — Reduce │
│ + High Capacity │ using adapt-architecture│ rigidity first, then │
│ │ │ use dissolve-form │
├─────────────────┼────────────────────────┼────────────────────────┤
│ High Pressure │ INVEST — Build capacity│ CRITICAL — Invest in │
│ + Low Capacity │ first, then transform │ capacity AND reduce │
│ │ │ rigidity before change │
├─────────────────┼────────────────────────┼────────────────────────┤
│ Low Pressure │ OPTIONAL — Transform │ DEFER — No urgency, │
│ + Any Capacity │ if strategic value is │ monitor pressure and │
│ │ clear, otherwise defer │ reassess quarterly │
└─────────────────┴────────────────────────┴────────────────────────┘
- Document readiness classification with:
- Classification label (READY / PREPARE / INVEST / CRITICAL / OPTIONAL / DEFER)
- Key findings from each assessment dimension
- Recommended next step
- Risk factors that could change classification
- READY? Proceed to
adapt-architecture - PREPARE? Proceed to
dissolve-formto reduce rigidity - INVEST? Build capacity (training, tooling, organizational support), then reassess
- CRITICAL? Address capacity and rigidity simultaneously (may require external help)
- OPTIONAL/DEFER? Document assessment and set reassessment date
Got: Clear, justified transformation readiness classification with specific next steps. Classification enables informed decision-making about when and how to transform.
If fail: Classification ambiguous (e.g., moderate pressure, moderate rigidity, moderate capacity)? Default to PREPARE — reduce rigidity incrementally while monitoring pressure. Builds capability and reduces risk whether or not full transformation eventually needed.
Checks
- Structural inventory complete with components, ages, dependencies, types
- Transformation pressure mapped (external, internal, resistance forces)
- Rigidity score calculated across all dimensions
- Change capacity assessed (resources, absorption rate, experience)
- Readiness classification determined with justified reasoning
- Next steps documented based on classification
- Reassessment date set (even if currently READY)
Pitfalls
- Assessing only technical system: Transformation readiness includes organizational readiness. Technically flexible system with organizationally rigid team will still fail to transform
- Optimistic capacity estimation: Teams consistently overestimate their capacity for change while maintaining normal operations. Use 50% of stated capacity as realistic estimate
- Ignoring resistance forces: Pressure mapping that only catalogs change forces misses resistance that will slow or stop transformation. Resistance often stronger than it appears
- Assessment paralysis: Form assessment should take hours to days, not weeks. Taking too long? System too complex to assess fully — assess at higher abstraction level and drill into problem areas
- Confusing rigidity with stability: Rigid system not same as stable system. Stability comes from well-designed flexibility; rigidity is absence of designed flexibility
See Also
adapt-architecture— primary transformation skill; assess-form determines readiness for itdissolve-form— for systems classified as PREPARE or CRITICAL, rigidity reduction before transformationrepair-damage— for systems that need repair before assessment can be meaningfulshift-camouflage— surface-level adaptation that may resolve pressure without full transformationforage-resources— resource exploration informs form assessment when question is "what should we become?"review-software-architecture— complementary skill for detailed technical architecture evaluationassess-context— AI self-application variant; maps structural assessment to reasoning context malleability, rigidity mapping, transformation readiness
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
