跳到正文
cccskills
免费在 GitHub 公开

component-discovery

Discover required technical components through targeted questions based on classified requirements.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md6.4 KB
  • schemas/input.schema.json1.5 KB
  • schemas/output.schema.json875 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Component Discovery Skill

Identifies required technical components through analysis of classified requirements and targeted discovery questions. This skill is purely analytical - it never modifies sdd-settings.yaml or scaffolds components.

Purpose

Based on transformation output (classified requirements):

  • Ask targeted discovery questions to determine WHICH components are needed
  • Analyze requirements + answers to identify component types
  • Ask component-specific questions to understand scope
  • Document discovered components in SPEC.md (not in system files)
  • Return component list for spec writing

IMPORTANT: This skill does NOT:

  • Modify sdd-settings.yaml
  • Scaffold components
  • Make any system changes

It only analyzes and documents. Implementation decides when to actually create components.

When to Use

  • After transformation step in external spec workflow
  • Runs ONCE after transformation, before decomposition
  • During /sdd I want to create a new feature interactive mode to identify needed components

Input

Schema: schemas/input.schema.json

Accepts change name, type, existing components, and optionally classified requirements from external spec processing.

Discovery Framework

Step 1: Load Tech Pack Discovery Knowledge

Before asking discovery questions, load the tech-specific discovery knowledge:

Invoke techpacks.routeSkills with:
  namespace: <active-namespace>
  phase: component-discovery

This loads component types, descriptions, discovery question sets, and settings schemas from the active tech pack.

Step 2: Core Discovery Questions

The tech pack's discovery skill provides the mapping from requirements to component types. Use the loaded question sets to:

  1. Ask high-level questions to identify which component types are needed
  2. For each identified type, ask component-specific follow-up questions
  3. Determine component settings based on answers

General discovery approach:

  • What data needs to be persisted?
  • What user-facing interfaces are needed?
  • What external integrations are required?
  • What background processing is needed?
  • What deployment requirements exist?

Step 3: Visual Assets Prompt

When UI/UX is involved and spec doesn't include visual assets:

Do you have any visual assets I can reference?
  - Mockups or wireframes (Figma, Sketch, etc.)
  - Screenshots of existing UI
  - Rough sketches or drawings
  - Reference images from other products

If you can share images, I can extract much more accurate
requirements than from text descriptions alone.

Skip this if spec already includes images or links to design tools.

Output

Schema: schemas/output.schema.json

Returns a list of components with names, types, and settings.

Component settings from this output flow into the SPEC.md ## Components section's Settings column, where they inform the scaffolding phase during implementation.

Skills

Use the following skills for reference:

  • techpacks — Gateway for all tech-pack interactions. Use techpacks.listComponents to get available component types and techpacks.routeSkills(phase: component-discovery) to load tech-specific discovery knowledge.

Available Components

Invoke techpacks.listComponents for the active tech pack namespace to get the full list of available component types, their descriptions, directory patterns, and whether they support multiple instances. Do NOT hardcode component types — the tech pack manifest is the source of truth.

Workflow

Step 1: Analyze Requirements

Map discovered information to component types from the tech pack. Use techpacks.routeSkills(phase: component-discovery) to load the tech-specific discovery knowledge that maps requirements to component types and settings.

Step 2: Present Recommendation with Settings

Based on what you've described, I recommend:

**Components:**
- **[Component Name]** - to handle <purpose>
  - Settings: <key settings from discovery>

- **[Component Name]** - for <purpose>
  - Settings: <key settings from discovery>

[Additional components with justification]

Does this match what you had in mind?

Step 3: Handle Adjustments

If the user wants changes, update both components and settings based on the tech pack's component type definitions and cross-reference rules.

Step 4: Multiple Component Instances

Some component types support multiple instances. When the requirements suggest multiple instances of the same type (e.g., separate services for different domains), ask the user whether to consolidate or split.

The tech pack's discovery knowledge provides guidance on when to split vs consolidate for each component type.

Step 5: Settings Validation

Before returning, validate discovered configuration against the tech pack's cross-reference rules. Invoke techpacks.routeSkills(phase: component-discovery) to get the validation rules.

Step 6: Return Configuration

Return the final configuration with all settings.

Notes

Critical: No System Modifications

  • NEVER modifies sdd-settings.yaml - only documents in SPEC.md
  • NEVER scaffolds components - that's implementation phase
  • NEVER creates any files - purely analytical

Workflow Position

External Spec → Transformation → **Component Discovery** → Decomposition → SPEC.md
                                        ↓
                                  Documents in SPEC.md
                                  (no system changes)

When Components Are Created

Components are actually created during implementation phase:

  1. SPEC.md documents needed components
  2. PLAN.md confirms components to scaffold
  3. Implementation phase updates sdd-settings.yaml
  4. Implementation phase scaffolds new components

General Notes

  • This skill is conversational and handles user interaction for adjustments
  • Component list is stored in context.md. During spec solicitation, the spec-solicitation skill populates the Components section of SPEC.md using discovered components and solicited technical details
  • Always validate settings dependencies before accepting the final configuration
  • Settings drive what gets scaffolded - they are not just metadata
  • For external specs, run ONCE before decomposition (not per-item)

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

Scaffolds Node.js/TypeScript backend components with CMDO architecture, driven by component settings.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

CMDO architecture standards for Node.js/TypeScript backends with strict layer separation.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

Intent-to-command mappings for fullstack-typescript tech pack features.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

Orchestrates the full change lifecycle — routes actions to phase-specific sub-files.

中文简介正在准备中。当前显示原文说明。

LiorCohen/sdd432026年2月24日 更新

查看 LiorCohen 的全部技能

报告此技能的问题