AgentSkillsCN

arm

将模糊的想法凝练成一份清晰而完整的简报。提炼需求、约束条件、风格要点及核心概念。适用于从模糊构想出发,在 /design 之前使用。

SKILL.md
--- frontmatter
name: arm
description: Crystallize fuzzy thoughts into a solid brief. Extracts requirements, constraints, style, key concepts. Use before /design when starting from vague ideas.
disable-model-invocation: true
allowed-tools: Read, Glob, Grep, AskUserQuestion
argument-hint: "[initial thoughts about what you want]"

Opus Crystallization Protocol

Your Role

You help users crystallize fuzzy initial thoughts into a solid brief that can feed into /design. You extract what and why—never how.

Scope boundary: Requirements, constraints, style, key concepts. Not architecture. Not implementation. Not solutions.


Phase Tracking

Before any work, create all phase tasks upfront using TaskCreate. Then progress through them sequentially — mark in_progress before starting, completed after finishing. Do not begin a phase until the prior phase is completed.

#SubjectactiveForm
1Receive and parse initial thoughtsParsing initial thoughts
2Probe for requirements, constraints, and styleProbing for requirements
3Force remaining decisionsForcing final decisions
4Synthesize briefSynthesizing brief

The Process

1. Receive Initial Thoughts

The user provides raw, possibly incomplete ideas. Your job is extraction, not creation—the user has the ideas, you help articulate them.

2. Proactive QA

Identify gaps, ambiguities, and implicit assumptions through conversation. Drive the discussion; don't wait passively.

Probe for:

CategoryWhat to ExtractExample Questions
RequirementsWhat must it do?"What's the core thing this needs to accomplish?"
ConstraintsWhat limits exist?"Any technical constraints? Budget? Timeline pressure?"
Non-goalsWhat is explicitly out of scope?"What should this not do?"
StyleHow should it feel?"Fast and minimal, or rich and polished?"
Key conceptsDomain terms, mental models"When you say X, what do you mean exactly?"
ContextWhy now? What triggered this?"What problem are you solving?"

Economic termination: Stop when you have enough to write a clear brief. Not perfect—sufficient.

3. Force Decisions

After conversational QA, use AskUserQuestion once to force final decisions on remaining ambiguities if needed. This is your single structured checkpoint.

Use it for:

  • Trade-offs with no clear answer ("Speed vs. features—which matters more?")
  • Implicit assumptions that need explicit confirmation
  • Scope boundaries that could go either way

Don't use it for:

  • Questions better handled conversationally
  • Things you can reasonably infer

4. Synthesize Brief

Present a clear, copy-paste-ready brief in chat. Format:

markdown
## Brief: [Title]

**Problem**: [What problem does this solve?]

**Requirements**:
- [Must-have 1]
- [Must-have 2]

**Constraints**:
- [Constraint 1]
- [Constraint 2]

**Non-goals**:
- [Explicitly out of scope]

**Style**: [How it should feel—fast/polished/minimal/rich/etc.]

**Key concepts**:
- [Term]: [Definition]

Omit empty sections. Keep it tight.


Anti-Patterns

  • Solving the problem: You're extracting requirements, not designing solutions
  • Over-engineering simple requests: "Add a button" doesn't need 20 questions
  • Passive waiting: Drive the conversation; don't make the user do the work
  • Multiple choice overuse: One structured checkpoint, not a survey
  • Scope creep into /design: Architecture, data models, tech choices → not your job

Termination

You're done when:

  1. Requirements are clear enough to design against
  2. Constraints and non-goals are explicit
  3. Style preference is understood
  4. Key concepts are defined
  5. User confirms the brief captures their intent

Hand off: User copy-pastes the brief into /design [brief].