plugins/jira/skills/create-feature-request/SKILL.md
Implementation guide for creating Feature Requests in the RFE project
npx skillsauth add openshift-eng/ai-helpers create-feature-requestInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides implementation guidance for creating Feature Requests in the RFE Jira project, which captures customer-driven enhancement requests.
This skill is automatically invoked by the /jira:create feature-request RFE command to guide the feature request creation process.
Reference Documentation:
A Feature Request (RFE) is:
| Type | Purpose | Project | Example | |------|---------|---------|---------| | Feature Request (RFE) | Customer request for capability | RFE | "Support for Foo in ProductA managed control planes" | | Feature | Strategic product objective | CNTRLPLANE, etc. | "Advanced hosted control plane security" | | Story | Single user-facing functionality | Any | "User can upload custom SSL certificate via console" |
Feature Requests should:
The title should be:
Good examples:
Support Foo for ProductA managed control planes
Enable pod autoscaling based on custom metrics
Multi-cluster backup and restore for ProductB
Bad examples:
Better security (too vague)
SSL stuff (not specific)
Make autoscaling work better (not clear)
Clearly describe:
Good example:
## Nature and Description of Request
Customers need the ability to use Foo for ProductA managed control plane endpoints, rather than relying on vendor-provided defaults.
### Current Limitation
Today, ProductA clusters use vendor-managed configuration for the API server endpoint. Customers cannot provide their own configuration, which creates issues for:
- Corporate security policies requiring organization-specific settings
- Integration with existing enterprise infrastructure
- Compliance requirements (SOC2, ISO 27001)
### Desired Behavior
Customers should be able to:
- Upload their own configuration during cluster creation
- Rotate configuration after cluster creation
- Validate configuration before cluster becomes active
- Receive alerts when configuration changes are needed
### Use Case
Enterprise customers with strict security policies need all infrastructure to use internally-managed configuration. This blocks ProductA adoption in regulated industries (finance, healthcare, government) where configuration management is a compliance requirement.
Bad example:
We need better SSL support.
Explain why the customer needs this:
Good example:
## Business Requirements
### Customer Impact
- **Primary segment**: Enterprise customers in regulated industries (finance, healthcare, government)
- **Affected customers**: 10+ customers have requested this capability
- **Deal blockers**: Multiple active deals blocked by this limitation
- **Escalations**: Several P1 customer escalations due to compliance failures
### Regulatory Requirements
- SOC2 Type II compliance requires organization-specific configuration
- ISO 27001 mandates lifecycle management
- Financial services regulations (PCI-DSS) require integration with enterprise infrastructure
- Government contracts require validated configuration chains
### Business Justification
Without this capability:
- Cannot close enterprise deals in regulated industries
- Risk losing existing customers to competitors during renewals
- Increasing support burden from compliance audit failures
- Limiting market expansion into high-value segments
### Competitive Context
Major competitors (CompetitorA, CompetitorB, CompetitorC) all support this capability for managed Kubernetes control planes. This is a gap that affects product competitive positioning.
Bad example:
Customers need this for security.
Identify:
Good example:
## Affected Packages and Components
### Teams
- **HyperShift Team**: Control plane infrastructure, configuration management
- **ROSA SRE Team**: Operational validation, configuration rotation
- **OCM Team**: Console and API for configuration upload
- **Networking Team**: Networking and configuration distribution
### Technical Components
- **cluster-ingress-operator**: Configuration provisioning and installation
- **hypershift-operator**: Control plane configuration
- **openshift-console**: UI for configuration upload and management
- **rosa CLI**: CLI support for configuration operations
### Jira Component
Based on the primary team and technical area, this should be filed under:
**Component**: HyperShift / ProductA
### Related Services
- Product API (configuration upload endpoint)
- Configuration management service (validation, storage)
- Control plane API server (configuration installation)
Note: The "Jira Component" will be used to set the components field when creating the issue.
When creating a feature request, guide the user through these specific questions:
Prompt: "What is the proposed title for this feature request? Make it clear, specific, and customer-focused (50-80 characters)."
Validation:
Example response:
Support Foo for ProductA managed control planes
Prompt: "What is the nature and description of the request? Describe:
Probing questions if needed:
Example response:
Customers need to use Foo for ProductA API endpoints instead of vendor-provided defaults.
Current limitation: ProductA only supports vendor-managed configuration, blocking customers with corporate requirements.
Desired behavior: Customers can upload, validate, and rotate custom configuration for the control plane API.
Use case: Enterprise customers in regulated industries (finance, healthcare) need organization-specific configuration for compliance.
Prompt: "Why does the customer need this? List the business requirements, including:
Helpful questions:
Example response:
Customer impact:
- 10+ enterprise customers have requested this
- Multiple active deals blocked
- Several P1 escalations from compliance failures
Regulatory requirements:
- SOC2, ISO 27001, PCI-DSS require organization-specific configuration
- Government contracts require validated configuration chains
Business justification:
- Cannot close deals in regulated industries (finance, healthcare, government)
- Competitive gap (CompetitorA, CompetitorB, CompetitorC all support this capability)
- Risk of customer churn during renewals
Prompt: "What packages, components, teams, or operators are affected? This helps route the request to the right teams.
Provide details like:
Follow-up: After collecting this information, help the user determine the appropriate Jira Component value.
Component mapping guidance:
Example response:
Teams affected:
- HyperShift Team (primary - control plane configuration management)
- ROSA SRE Team (configuration rotation, operations)
- OCM Team (console UI for configuration upload)
- Networking Team (networking configuration distribution)
Operators/components:
- cluster-ingress-operator
- hypershift-operator
- openshift-console
Suggested Jira Component: HyperShift
Before submitting the feature request, validate:
Create feature requests via createJiraIssue with contentFormat: "markdown". Key parameters:
projectKey: "RFE"issueTypeName: "Feature Request"summary: clear, customer-focused titledescription: formatted template (Markdown) with Nature/Description, Business Requirements, Affected Packages sectionsadditional_fields: include "labels": ["ai-generated-jira"], "security": {"name": "Red Hat Employee"}Use Markdown formatting with contentFormat: "markdown":
<Brief overview>
## Nature and Description of Request
<What is being requested>
### Current Limitation
<What doesn't work today>
### Desired Behavior
<What should work>
### Use Case
<How customers will use this>
## Business Requirements
### Customer Impact
- <Affected segment>
- <Number of requests>
- <Deal impacts>
### Regulatory/Compliance Requirements
- <Requirement 1>
- <Requirement 2>
### Business Justification
<Why this matters, impact of not having it>
### Competitive Context (optional)
<Competitor capabilities, market gaps>
## Affected Packages and Components
### Teams
- <Team>: <Responsibility>
### Technical Components
- <Component/operator>
### Related Services
- <Service>
## Jira Component
**Component**: <component name>
Scenario: User provides feature request without clear business justification.
Action:
Example:
For a Feature Request to be prioritized, we need to understand the business impact.
Can you provide:
1. Who is requesting this? (customer segment, specific customers)
2. Why is it blocking them? (compliance, policy, competitive)
3. What is the business impact? (deals blocked, escalations, churn risk)
4. Are there regulatory requirements driving this?
This helps product management and engineering teams understand priority and urgency.
Scenario: Description lacks specifics about what is needed.
Action:
Example:
The description "better security" is too vague. Let's be more specific:
1. What security capability is needed? (authentication, encryption, access control)
2. What doesn't work today? (specific limitation or gap)
3. What should work? (desired behavior)
4. How would customers use this? (use case)
For example: "Support custom SSL certificates" is specific and actionable.
Scenario: User doesn't know which teams or components are affected.
Action:
Example:
To route this Feature Request correctly, we need to identify the component.
Based on your description mentioning "ProductA control plane" and "configuration", this likely affects:
- **HyperShift Team** (control plane infrastructure)
- **Networking Team** (networking and configuration)
I recommend setting the Jira Component to: **HyperShift**
Does this seem correct based on your understanding?
Scenario: Sensitive data detected in feature request content.
Action:
Example:
I detected potentially confidential information (customer names, specific revenue figures).
If this is a public Jira project, please anonymize:
- Use "Enterprise Customer A" instead of actual customer names
- Use ranges ($1-5M) instead of exact revenue figures
- Remove any confidential business information
Would you like to revise the content?
Scenario: MCP tool returns an error when creating the feature request.
Action:
Common errors:
Input:
/jira:create feature-request RFE "Support Foo for ProductA"
Interactive prompts collect:
Result:
Input:
/jira:create feature-request RFE "Multi-cluster backup and restore for ProductB"
Auto-detected:
Result:
❌ Vague title
"Better security"
✅ Use specific capability: "Support Foo for ProductA managed control planes"
❌ No business justification
"Customers want this"
✅ Provide specifics: "10+ customers requested, multiple blocked deals, SOC2 compliance requirement"
❌ Technical implementation details
"Implement TLS 1.3 in ingress-operator using new controller"
✅ Focus on customer need: "Support Foo with modern security standards"
❌ No component information
"Someone should look at this"
✅ Identify teams: "HyperShift team (control plane), Networking team (ingress)"
/jira:create - Main command that invokes this skillcreate-feature skill - For strategic product featurescreate-epic skill - For implementation epicsThis skill uses placeholder comments for custom fields because the actual field IDs for the RFE project need to be discovered. Use getJiraIssueTypeMetaWithFields to query the RFE project for available custom fields and their IDs.
research
Shared engine for analyzing Jira issue activity and generating status summaries
testing
Snapshot OpenShift payload data (release controller, PR diffs, comments, CI jobs, JUnit results, regression tracking) to a local directory for offline analysis
development
Analyze a payload snapshot to identify root causes of blocking job failures, score candidate PRs, and produce an HTML report with revert recommendations
tools
Create TRT JIRA bugs, open revert PRs, and trigger payload jobs for high-confidence revert candidates