From Vengineer
Transform feature descriptions into well-structured project plans following conventions
npx claudepluginhub dylanliiii/shipyard --plugin VengineerThis skill is limited to using the following tools:
**Purpose**: Transform feature descriptions, bug reports, or improvement ideas into well-structured markdown files that follow project conventions and best practices.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Purpose: Transform feature descriptions, bug reports, or improvement ideas into well-structured markdown files that follow project conventions and best practices.
<feature_description> ${ARGUMENTS} </feature_description>
If the feature description above is empty, ask the user: "What would you like to plan? Please describe the feature, bug fix, or improvement you have in mind."
Do not proceed until you have a clear feature description from the user.
Run these three agents in parallel at the same time. For each agent: read the referenced file to get the system prompt (use the body after the YAML frontmatter ---), then launch a general-purpose Task agent with that system prompt.
Agent 1 — Repository Research:
plugins/Vengineer/agents/research/repo-research-analyst.mdAgent 2 — Best Practices Research:
plugins/Vengineer/agents/research/best-practice-research.mdAgent 3 — Framework Documentation:
plugins/Vengineer/agents/research/framework-docs-researcher.mdReference Collection:
app/services/example_service.rb:42)#123, #456)CLAUDE.md or team documentationTitle & Categorization:
feat:, fix:, docs:)Stakeholder Analysis:
Content Planning:
After planning the issue structure, run SpecFlow Analyzer to validate and refine the feature specification:
Launch a general-purpose Task agent (prefer a fast/small model like Claude Haiku if available) with:
plugins/Vengineer/agents/core/spec-flow-analyzer.md (body after the YAML frontmatter)SpecFlow Analyzer Output:
Every plan SHOULD include at least one Mermaid diagram showing the design flow. This helps visualize:
Choose the most appropriate diagram type:
sequenceDiagram
participant User
participant Frontend
participant API
participant Database
User->>Frontend: Action
Frontend->>API: Request
API->>Database: Query
Database-->>API: Result
API-->>Frontend: Response
Frontend-->>User: Display
flowchart TD
A[Input] --> B{Validate}
B -->|Valid| C[Process]
B -->|Invalid| D[Error]
C --> E[Transform]
E --> F[Output]
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
PRODUCT ||--o{ LINE_ITEM : "ordered in"
Diagram Checklist:
When to use which:
| Diagram Type | Use When |
|---|---|
| Sequence | API calls, user flows, service interactions |
| Flowchart | Decision logic, data processing, state machines |
| ERD | New models, database changes, entity relationships |
| Class | Object relationships, inheritance, interfaces |
Every plan MUST include an Execution Strategy section identifying which implementation phases can run concurrently.
Required elements:
Mermaid graph LR dependency diagram — nodes = phases, directed edges = "must complete before"; green fill (style X fill:#d4edda) = can start immediately with no prerequisites
Phase table:
| Phase | Name | Depends On | Can Parallelize With | Effort |
|---|---|---|---|---|
| A | Example Phase | — | B | M |
| B | Another Phase | — | A | S |
| C | Third Phase | A, B | — | L |
[PARALLEL:group-id] — tasks with the same group-id can run simultaneously[SERIAL:after-group-id] — task depends on all tasks in that group completingExample:
graph LR
A[Phase 1: Schema] --> C[Phase 3: API]
B[Phase 2: Auth] --> C
C --> D[Phase 4: Frontend]
C --> E[Phase 5: Jobs]
D --> F[Phase 6: Tests]
E --> F
style A fill:#d4edda
style B fill:#d4edda
Select how comprehensive you want the issue to be, simpler is mostly better.
Best for: Simple bugs, small improvements, clear features
Includes:
Structure:
[Brief problem/feature description]
## Acceptance Criteria
- [ ] Core requirement 1
- [ ] Core requirement 2
## Context
[Any critical information]
## MVP
### test.rb
```ruby
class Test
def initialize
@name = "test"
end
end
```
## References
- Related issue: #[issue_number]
- Documentation: [relevant_docs_url]
Best for: Most features, complex bugs, team collaboration
Includes everything from MINIMAL plus:
Structure:
## Overview
[Comprehensive description]
## Background & Motivation
[Why this is needed]
## Technical Considerations
[Architecture, performance, security implications]
## Success Metrics
[How to measure success]
## Dependencies & Risks
[What could go wrong]
## Implementation Suggestions
[High-level approach]
## References
[Links to related work]
Best for: Major features, architectural changes, critical bug fixes
Includes everything from MORE plus:
Structure:
## Executive Summary
[High-level overview]
## Detailed Requirements
[Complete specification]
## API Design
[Endpoints, schemas, examples]
## Implementation Steps
[Phase-by-phase breakdown]
## Testing Strategy
[Unit, integration, E2E tests]
## Migration Plan
[Data migration, backward compatibility]
## Rollout Strategy
[Phased rollout, feature flags]
## Monitoring & Observability
[Metrics, alerts, dashboards]
## References
[All relevant documentation]
Pre-submission Checklist:
After the initial plan is generated, but before engaging in general refinement, evaluate the situation against this ambiguity matrix:
| Situation | Action |
|---|---|
| Single valid interpretation | Proceed |
| Multiple interpretations, similar effort | Proceed with reasonable default, note assumption |
| Multiple interpretations, 2x+ effort difference | MUST ask |
| Missing critical info (file, error, context) | MUST ask |
| User's design seems flawed or suboptimal | MUST raise concern before implementing |
If the action requires you to MUST ask or MUST raise concern, use the AskUserQuestion tool immediately to resolve these specific issues before proceeding to the standard refinement phase.
Write the plan to docs/plans/<feature-name>.md
Add YAML frontmatter at the top of the plan file:
---
stage: plan
created: YYYY-MM-DD
feature: <feature-name>
source-spec: <path to input spec file if input was from docs/specs/, else omit>
status: draft
---
If the input was from docs/specs/, also update the spec file's frontmatter to add:
next-plan: docs/plans/<feature-name>.md
Use the Edit tool to append this field inside the existing --- block without corrupting other fields.
After the first Plan is generated, engage in multiple rounds of interaction with the user to Refine the Plan.
NOTE THAT YOU SHOULD USE THE TOOL AskUserQuestion TO INTERACT WITH THE USER OR ANY OTHER TOOLS THAT CAN INVOLVE THE USER IN THE PROCESS.
Interaction Guidelines:
plans/<issue_title>.md based on feedback.Only proceed to Post-Generation Options once the user is satisfied with the refined plan.
After writing the plan file, use the AskUserQuestion tool to present these options:
Question: "Plan ready at docs/plans/<feature-name>.md. What would you like to do next?"
Options:
/core:clarify - Ask targeted questions to reduce ambiguity in the plan/core:deepen-plan - Enhance each section with parallel research agents (best practices, performance, UI)/core:plan_review - Get feedback from specialized reviewersadr)/core:work - Begin implementing this planBased on selection:
open docs/plans/<feature-name>.md to open the file in the user's default editor/core:clarify → Call the command with the plan file path to ask targeted clarification questions/core:deepen-plan → Call the command with the plan file path to enhance with research/core:plan_review → Call the command with the plan file path. Spawn reviewers based on project conventionsadr skill with docs/plans/<feature-name>.md as input/core:work → Call the command with the plan file pathNote: If running /core:plan with ultrathink enabled, automatically run /core:deepen-plan after plan creation for maximum depth and grounding.
Loop back to options after Simplify or Other changes until user selects /core:work or /core:plan_review.
NEVER CODE! Just research and write the plan.