The skill follows a 6-phase workflow focused on standards and architectural patterns.
```
Stack Detection β Identify β Ref Research β Existing Guides β Standards Research
```
Phase 0: Stack Detection
Objective: Determine project stack BEFORE research to filter queries.
Detection:
| Indicator | Stack | Query Prefix |
|-----------|-------|--------------|
| .csproj, .sln | .NET | "C# ASP.NET Core" |
| package.json + tsconfig.json | Node.js | "TypeScript Node.js" |
| requirements.txt, pyproject.toml | Python | "Python" |
| go.mod | Go | "Go Golang" |
| Cargo.toml | Rust | "Rust" |
| build.gradle, pom.xml | Java | "Java" |
Process:
- Check
context_store.TECH_STACK if provided β use directly - Else: Glob for indicator files in project root
- Store
detected_stack.query_prefix for Phases 2-3
Output: detected_stack = {language, framework, query_prefix}
Skip conditions: If no stack detected β proceed without prefix (generic queries)
---
Phase 1: Identify Libraries
Objective: Parse Epic/Story for libraries and technology keywords.
Process:
- Read Epic/Story description (provided as input)
- Parse Epic Technical Notes for mentioned libraries/frameworks
- Parse Epic Scope In for technology keywords (authentication, rate limiting, payments, etc.)
- Identify Story domain from Epic goal statement (e.g., "Add rate limiting" β domain = "rate limiting")
- Extract library list:
- Primary libraries (explicitly mentioned)
- Inferred libraries (e.g., "REST API" β FastAPI, "caching" β Redis)
- Filter out well-known libraries with stable APIs (e.g., requests, urllib3)
- Determine Story domain:
- Extract from Epic goal or Story title
- Examples: rate limiting, authentication, payment processing, file upload
Output: Library list (3-5 libraries max) + Story domain
Skip conditions:
- NO libraries mentioned in Epic β Output empty Research Summary
- Trivial CRUD operation with well-known libraries β Output empty Research Summary
- Epic explicitly states "research not needed" β Skip
---
Phase 2: MCP Ref Research
Objective: Get industry standards and architectural patterns.
Process:
- Focus on standards/RFCs:
- Call mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [story_domain] RFC standard specification")
- Example: "C# ASP.NET Core rate limiting RFC standard specification"
- Extract: RFC/spec references (OAuth 2.0 RFC 6749, OpenAPI 3.0, WebSocket RFC 6455)
- Focus on architectural patterns:
- Call mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [story_domain] architectural patterns best practices")
- Example: "TypeScript Node.js authentication architectural patterns best practices"
- Extract: Middleware, Dependency Injection, Decorator pattern
Output: Standards compliance table + Architectural patterns list
---
Phase 3: MCP Ref Research
Objective: Get industry standards and best practices.
Process:
- FOR EACH library + Story domain combination:
- Call mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [library] [domain] best practices 2025")
- Call mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [domain] industry standards RFC")
- Example: "C# ASP.NET Core Polly rate limiting best practices 2025"
- Extract from results (NO CODE - text/tables only):
- Industry standards (RFC/spec references: OAuth 2.0, REST API, OpenAPI 3.0)
- Common patterns (do/don't descriptions, anti-patterns to avoid)
- Integration approaches (middleware, dependency injection, decorators)
- Security considerations (OWASP compliance, vulnerability mitigation)
- Official docs URLs (link to stack-appropriate authoritative sources)
- Store results for Research Summary compilation
Output: Standards compliance table (RFC/Standard name, how to comply) + Best practices list
---
Phase 4: Scan Existing Guides
Objective: Find relevant pattern guides in docs/guides/ directory.
Process:
- Scan guides directory:
- Use Glob to find docs/guides/*.md
- Read guide filenames
- Match guides to Story domain:
- Match keywords (e.g., rate limiting guide for rate limiting Story)
- Fuzzy match (e.g., "authentication" matches "auth.md", "oauth.md")
- Collect guide paths for linking in Technical Notes
Output: Existing guides list (relative paths from project root)
---
Phase 5: Generate Standards Research
Objective: Compile research results into Standards Research for Story Technical Notes subsection.
NO_CODE Rule: No code snippets. Use tables + links to official docs only.
Format Priority:
```
βββββββββββββββββββββββββββββββββββββββ
β 1. TABLES + ASCII diagrams β Priority β
β 2. Lists (enumerations only) β
β 3. Text (last resort) β
βββββββββββββββββββββββββββββββββββββββ
```
Output Format (Table-First):
```markdown