一键导入
feature-finder
Discover code entry points from Jira data when no PR data exists
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Discover code entry points from Jira data when no PR data exists
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Classify PR review comments on STP/STD documents into auto-fixable vs needs-human categories. Maps free-text feedback to QualityFlow domain rules for automated fix routing.
Resolve Jira ID to project configuration and load project context
Generate comprehensive v2.1-ENHANCED STD YAML with pattern metadata, variables, test structure from ALL STP scenarios (single file)
Orchestrate STP → STD pipeline (generates comprehensive STD YAML only)
Generate test stubs with PSE docstrings from STD YAML — language and framework driven by project config
Detect test conventions from a codebase to drive test generation without tier config
| name | feature-finder |
| description | Discover code entry points from Jira data when no PR data exists |
| model | claude-opus-4-6 |
Phase: Pre-Processing User-Invocable: false
Discover entry points from Jira data when no PR data exists. Extracts potential symbols and code locations from Jira ticket content for LSP validation.
Invoked by the regression-analyzer subagent when:
jira_data:
summary: "Add ARM/multiarch support for node scheduling"
description: "Enable VMs to be scheduled on ARM nodes..."
components: [app-handler, node-labeller]
labels: [ARM, multiarch]
acceptance_criteria:
- VMs can be scheduled on ARM nodes
- Node labels correctly identify architecture
feature_candidates:
explicit_mentions: [ResourceInstance, NodeLabeller, ARM]
component_hints:
- component: app-handler
package_path: pkg/handlers/
- component: node-labeller
package_path: pkg/handlers/node-labeller/
integration_points: [node-scheduling, architecture-detection]
From the Jira data, extract:
Feature name and related terminology
API types and fields mentioned
Component names that map to packages
Function/action names from acceptance criteria
Reference: Read {project_context.config_dir}/components.yaml for the complete mapping.
Extract keywords from Jira data:
For each extracted keyword:
Use Grep for text-based discovery:
# Use repo path from `repositories.yaml` in `project_context.config_dir`
Grep pattern="func.*NodeLabeller" path="<repo_path>/pkg/handlers/"
Grep pattern="type.*ARM" path="<repo_path>/pkg/"
Use LSP workspaceSymbol for semantic search:
LSP operation="workspaceSymbol" query="NodeLabeller" filePath="<repo_path>/pkg/" line=1 character=1
For each component_hint:
Glob the package for main files:
# Use repo path from `repositories.yaml` in `project_context.config_dir`
Glob pattern="<repo_path>/pkg/handlers/node-labeller/*.go"
Use LSP documentSymbol to list exported functions:
LSP operation="documentSymbol" filePath="<repo_path>/pkg/handlers/node-labeller/node_labeller.go" line=1 character=1
Filter for exported symbols (uppercase first letter in Go)
discovered_entry_points:
- name: ReconcileNode
file: pkg/handlers/node-labeller/node_labeller.go
line: 45
character: 6
source: component_hint
discovery_method: documentSymbol
original_keyword: node-labeller
- name: IsARM64
file: pkg/handlers/node-labeller/util.go
line: 28
character: 6
source: explicit_mention
discovery_method: grep
original_keyword: ARM
- name: GetArchitecture
file: pkg/handlers/node-labeller/node_labeller.go
line: 120
character: 6
source: acceptance_criteria
discovery_method: workspaceSymbol
original_keyword: architecture
- ...
keywords_searched:
- keyword: NodeLabeller
found: true
matches: 3
- keyword: ARM
found: true
matches: 5
- keyword: multiarch
found: false
matches: 0
- ...
packages_explored:
- package: pkg/handlers/node-labeller/
files_found: 4
exported_symbols: 12
- ...
summary:
total_keywords: 8
keywords_found: 6
total_entry_points: 15
packages_explored: 2
The output from this skill feeds directly into lsp-tracer (K4):
# feature-finder output becomes lsp-tracer input
# Repo path from `repositories.yaml` in `project_context.config_dir`
symbols_to_trace:
- name: ReconcileNode
file: <repo_path>/pkg/handlers/node-labeller/node_labeller.go
line: 45
character: 6
- name: IsARM64
file: <repo_path>/pkg/handlers/node-labeller/util.go
line: 28
character: 6
- ...
Input Jira for PROJ-494 (no PRs):
Discovery Process:
Result: Even without PRs, we discover entry points like ReconcileNode, IsARM64, GetArchitecture for call graph analysis.