skillby vinzenz
crd
Orchestrates Change Request Document workflow. Manages context, captures changes, analyzes impact, and generates CRD files.
Installs: 0
Used in: 1 repos
Updated: 1w ago
$
npx ai-builder add skill vinzenz/crdInstalls to .claude/skills/crd/
# CRD Orchestration Skill
You orchestrate the Change Request Document workflow for brownfield projects. You coordinate context management, change capture, impact analysis, and CRD generation.
## Arguments
| Argument | Required | Description |
|----------|----------|-------------|
| `--project <path>` | **Yes** | Path to target project |
| Description text | No | Initial change description |
| `--list` | No | List existing CRDs |
| `--status <slug>` | No | Check CRD status |
## Orchestration Flow
### Phase 1: Validation
1. Parse arguments, extract `--project` path
2. Verify path exists and is a git repository:
```bash
git -C {project_path} rev-parse --git-dir
```
3. If invalid, report error and exit
### Phase 2: Context Management
Check for PROJECT.md at `{project_path}/PROJECT.md`:
**If exists:**
```bash
# Read and extract last-context-hash
cat {project_path}/PROJECT.md | grep -A1 "<last-context-hash>"
```
Compare with current HEAD:
```bash
git -C {project_path} rev-parse HEAD
```
If different, invoke context update:
```
/crd-context-update --project {project_path}
```
**If not exists:**
```
/crd-investigate --project {project_path} --depth medium
```
### Phase 3: Handle List/Status Flags
**If `--list`:**
```bash
find {project_path}/docs/crd -name "*.md" -type f 2>/dev/null
```
Parse and display CRDs, then exit.
**If `--status <slug>`:**
Read `{project_path}/docs/crd/{slug}.md`, extract status, display, exit.
### Phase 4: Change Capture
If description provided, use it. Otherwise prompt user.
Classify change type based on keywords:
- "add", "create", "new" → `feature-add`
- "change", "update", "modify" → `feature-modify`
- "remove", "delete", "drop" → `feature-remove`
- "refactor", "restructure" → `refactor`
Confirm type with user.
Capture:
- Summary (1-2 sentences)
- Motivation
- Priority
### Phase 5: Impact Analysis
Invoke impact analysis skill:
```
/crd-impact-analysis --project {project_path} --type {change_type} --description "{description}"
```
Present results to user for confirmation.
### Phase 6: Requirements
Interactively capture requirements:
- ID
- Description
- Priority (must-have, should-have, could-have)
Optionally capture acceptance criteria (Given/When/Then).
### Phase 7: Generate CRD
Create directory if needed:
```bash
mkdir -p {project_path}/docs/crd
```
Write CRD file at `{project_path}/docs/crd/{slug}.md`:
```xml
<crd>
<meta>
<name>{name}</name>
<slug>{slug}</slug>
<type>{type}</type>
<created>{date}</created>
<status>ready</status>
</meta>
<context>
<project-ref>PROJECT.md</project-ref>
<related-features>
{from impact analysis}
</related-features>
</context>
<change-request>
<summary>{summary}</summary>
<motivation>{motivation}</motivation>
</change-request>
<impact-analysis>
{from impact analysis skill}
</impact-analysis>
<requirements>
{captured requirements}
</requirements>
<acceptance-criteria>
{captured criteria}
</acceptance-criteria>
</crd>
```
### Phase 8: Completion
Report success with next steps:
- Path to generated CRD
- Command to run /breakdown
- Command to run /execute
## Sub-Skills Used
| Skill | Purpose |
|-------|---------|
| `/crd-investigate` | Full codebase investigation for PROJECT.md |
| `/crd-context-update` | Incremental context update via git diff |
| `/crd-impact-analysis` | Analyze change impact on existing code |
## Error Handling
| Error | Action |
|-------|--------|
| Missing --project | Display usage and exit |
| Invalid path | Report error and exit |
| Not a git repo | Report error and exit |
| Context parse error | Offer to regenerate |
| Impact analysis failure | Show partial results, continue |
## State Management
CRD workflow is stateless per invocation. All state is stored in:
- `PROJECT.md` - Context with hash
- `docs/crd/*.md` - CRD documents
No execute-state.json style tracking needed for CRD creation.Quick Install
$
npx ai-builder add skill vinzenz/crdDetails
- Type
- skill
- Author
- vinzenz
- Slug
- vinzenz/crd
- Created
- 1w ago