AgentSkillsCN

feature-ship

通过质量门控完成功能开发——包括安全审查、QA 验证以及最终确认。当用户表示已完成实施、希望交付功能,或要求完成/收尾工作时,可使用此技能。

SKILL.md
--- frontmatter
name: feature-ship
description: Complete a feature with quality gates - security review, QA validation, and final verification. Use when user says they're done implementing, wants to ship a feature, or asks to complete/finish work.
user-invocable: true

Complete Feature Command

You are executing the COMPLETE FEATURE workflow - a quality gate process that ensures features meet security, quality, and testing standards before being marked as completed.

First Step (Do This Now)

Read the file at path: docs/features/DASHBOARD.md

This file shows in-progress features. Look at the "In Progress" section to find features ready to ship.

Note: To complete a feature, create docs/features/[id]/shipped.md. The PostToolUse hook automatically updates DASHBOARD.md - do NOT edit DASHBOARD.md directly.

Contents


Feature Target

$ARGUMENTS

If no specific feature ID was provided above, you will help the user select from in-progress items.


File Organization

Features are stored in directories with status determined by file presence:

code
docs/features/
├── DASHBOARD.md              # Auto-generated, read-only for Claude
├── my-feature/
│   ├── idea.md               # Problem statement + metadata (backlog)
│   ├── plan.md               # Implementation plan (in-progress)
│   └── shipped.md            # Completion notes (completed)
└── another-feature/
    └── idea.md

Status Detection by File Presence

Files PresentStatus
idea.md onlybacklog
idea.md + plan.mdin-progress
idea.md + plan.md + shipped.mdcompleted

Key Principles:

  • /feature-capture creates idea.md only (backlog status)
  • /feature-plan adds plan.md (changes to in-progress)
  • /feature-ship adds shipped.md (changes to completed)
  • DASHBOARD.md is auto-regenerated by hooks - never edit directly

Workflow Overview

This command orchestrates a 6-phase quality gate workflow:

PhaseNamePurpose
1Pre-flight CheckVerify feature is in-progress, has implementation artifacts
2Security ReviewScan for vulnerabilities (OWASP Top 10, CVEs)
3QA ValidationVerify test coverage and acceptance criteria
4Final VerificationRun tests, type check, lint, build
5Write shipped.mdCreate shipped.md to complete the feature
6SummaryDisplay completion report

Effort-Based Scaling

EffortPhase 2 (Security)Phase 3 (QA)
Small (< 8 hours)npm audit onlynpm test only
Medium/LargeFull security-reviewer agentFull qa-engineer agent

Phase Details

Phase 1: Pre-flight Check & Effort Selection

See: preflight.md

  • Read DASHBOARD.md and find/select feature from In Progress section
  • Read the feature's idea.md and plan.md for details
  • Verify feature is in-progress (has plan.md, no shipped.md)
  • Determine effort level for workflow scaling

Phase 2: Security Review

See: security.md

  • Small effort: Run npm audit --audit-level=high
  • Medium/Large: Run security-reviewer agent
  • BLOCKS completion if Critical/High issues found

Phase 3: QA Validation

See: qa.md

  • Small effort: Run npm test
  • Medium/Large: Run qa-engineer agent
  • BLOCKS completion if critical issues or test failures

Phases 4-6: Verification & Completion

See: completion.md

  • Run full test suite, type check, lint, build
  • Review implementation checklist from plan.md
  • Get user confirmation
  • Write shipped.md
  • After writing shipped.md, regenerate the dashboard by running:
    bash
    python3 ${CLAUDE_PLUGIN_ROOT}/skills/shared/lib/run_dashboard.py <project_root>
    
  • Clear statusline by running:
    bash
    python3 ${CLAUDE_PLUGIN_ROOT}/skills/shared/lib/statusline.py clear
    
  • Display completion summary

shipped.md Format

Write shipped.md with YAML frontmatter followed by content:

markdown
---
shipped: YYYY-MM-DD
---

# Shipped: [Feature Name]

## Summary
Brief summary of what was delivered...

## Key Changes
- Change 1
- Change 2
- Change 3

## Testing
How the feature was tested and verified...

## Notes
Any follow-up items, known limitations, or context for future maintainers...

Error Handling

ErrorResolution
Feature not in-progressDirect user to correct command or status
Security issues foundBLOCK and provide fixes
QA issues foundBLOCK and list what needs fixing
Tests failingBLOCK and show failures
Feature artifacts missingAsk user to verify implementation was done
Already completedFeature has shipped.md - nothing to do

Fallback: Manual Ship

If shipped.md wasn't created, you can use the ship script:

bash
# Use the ship_feature.py script
python3 ${CLAUDE_PLUGIN_ROOT}/skills/feature-ship/scripts/ship_feature.py <project_root> <feature-id> "Summary message"

Or create shipped.md manually:

bash
cat > docs/features/[feature-id]/shipped.md << 'EOF'
---
shipped: $(date +%Y-%m-%d)
---

# Shipped: [Feature Name]

## Summary
Feature completed and committed.
EOF

After creating shipped.md, regenerate the dashboard:

bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/shared/lib/run_dashboard.py <project_root>

Philosophy: "Quality is Not Optional"

This workflow ensures:

  • Security vulnerabilities are caught before production
  • Quality standards are met consistently
  • Test coverage is verified
  • Features are properly documented
  • Clean transition from in-progress to completed

No feature should be marked complete without passing these quality gates.


Let's verify your feature is ready for completion!