Automated summary
Runs a structured discovery interview to explore, challenge, and document a new trading feature, ending in a formal specification.
Strengths
- Forces clarifying questions through the AskUserQuestion tool instead of assuming behaviour
- Launches parallel Explore agents to ground the spec in existing code, contracts, and database schema
- Includes a dedicated challenge pass with alternative approaches and trading-specific edge cases (partial fills, race conditions, authorization)
- A mandatory Platform Skill Gate makes it read UI component rules before recommending any frontend change
Limitations
- Tightly coupled to the ETNA_TRADER repository layout (frontend/ACAT, Etna.Trading.Contracts, db/, qa/) and not portable as-is
- Relies on Claude Code-specific tooling (AskUserQuestion, Task/Explore agents, .claude/rules)
- Only produces a specification, never an implementation, and output quality depends on how engaged the user is during the interview
Use it when kicking off a new trading feature and you need a rigorous specification before writing code.
Avoid it for quick brainstorming, or when the spec is already settled and only implementation work remains.
Security analysis
SafeThe skill only conducts interviews, reads codebase files, and writes a specification document. It does not execute destructive commands, exfiltrate data, or use obfuscation. The tools referenced (AskUserQuestion, Task) are used for legitimate discovery and exploration purposes.
No concerns found
How this analysis is madeExamples
/nf iceberg-order-management — explore and spec out a new feature for placing and managing iceberg orders across the ACAT frontend and the order service.Detail a feature: automatic re-routing of orders that are only partially filled at market close. Run the discovery interview, challenge my assumptions and write the spec.Interview me about a new position-limit risk check feature and produce a formal specification, covering failure scenarios and integration points with the risk engine.name: nf description: >- Conduct in-depth feature discovery interview to explore, challenge, and document a new trading feature. Use when asked to 'detail a feature', 'explore a new feature', 'feature discovery', 'interview about feature', or 'spec out a feature'. NOT for quick brainstorming, NOT for implementation tasks (use /ct). argument-hint: "[feature-name]" user-invocable: true
New Feature Discovery — ETNA_TRADER
Objective
Conduct a comprehensive interview to fully understand and document a new trading feature using collaborative brainstorming, then create a formal specification. Trading features carry significant business and regulatory implications — challenge assumptions rigorously.
Guidelines
- Use
AskUserQuestiontool for ALL clarifications — provides interactive options for user to choose from - Never assume behavior: if any behavior is unclear/ambiguous (order routing logic, risk rules, regulatory constraints, error states), you MUST ask
- Ask non-obvious, thought-provoking questions — especially about edge cases in financial workflows
- Actively challenge assumptions; do not be a yes-bot
- Offer alternatives, shortcuts, and "go deeper" paths
- Continue until the feature is fully understood
- Document everything in the specification file
Workflow
Platform Skill Gate (MANDATORY when feature touches UI/screens)
Trigger: If the feature will create or modify screens, components, grids, or styles in the ACAT frontend.
MANDATORY steps (do BEFORE writing recommendations in the discovery/spec):
- Read
.claude/rules/trading-component-patterns.md - Explicitly state in the discovery/spec that the rule was read and will be applied
- Extract relevant UI/component rules and record them under a "Skill Compliance" section
Step 1: Codebase Exploration
Launch 1-3 parallel Explore agents based on feature complexity. Use Task tool in single message.
Agents:
- Existing feature code and patterns in
frontend/ACAT/src/and relevant backend API projects - Domain models, contracts, existing repositories:
src/Etna.Trading.Contracts/, DAL projects (if 2+ agents) - Docs, existing tests, DB schema in
db/,qa/,docs/(if 3 agents)
Synthesize findings, then proceed to design exploration.
Step 2: External Research (Optional)
Default: skip for token efficiency.
Run only when:
- User explicitly asks for deeper/strict discovery
- Internal codebase context is insufficient
- Decision depends on external constraints (regulatory, exchange protocols, financial standards)
Step 3: Design Exploration Phase
With gathered context:
- Ask questions to refine the idea (batch related questions)
- Propose 2-3 different approaches with trade-offs
- Present design incrementally for validation
- Consider ETNA_TRADER architecture constraints:
- Which layer does this belong to? (Contracts → Services → DAL → API)
- New service or extend existing? (
IOrderService,IPositionService, etc.) - Backend-only, frontend-only, or full stack?
- Database schema changes? New SSDT objects or alter existing tables?
- EF or NHibernate for data access in this area?
Step 4: Challenge & Deep-Dive
After design exploration, run one structured challenge pass:
- Identify assumptions and question each one
- Suggest 2-3 alternative approaches (including a lean/shortcut path)
- Flag potential risks, hidden costs, or complexity traps
Technical Implementation:
- Edge cases and failure scenarios specific to trading (partial fills, market closes, order expiry)
- Performance implications (high-frequency order flow, real-time position updates)
- Integration points with existing services (clearing, risk engine, market data feed)
- Security implications (account authorization, order tampering, privilege escalation)
- Concurrency and race conditions (double-click order placement, position race on close)
Trading Domain Specifics:
- Order lifecycle: New → Partially Filled → Filled / Cancelled / Rejected
- Position impact: long/short, cost-basis, unrealized P&L
- Account impact: buying power, margin, balance
- Market data dependencies: quotes, depth, halt status
- Regulatory / compliance considerations (e.g., pattern day trader rules, short-sale restrictions)
Business & Product:
- Success metrics and how to measure them
- MVP vs future scope boundaries (e.g., just Market orders first, Limit/Stop later)
- Multi-account / multi-user implications
Step 5: Specification Writing
After design exploration and interview completion:
- Read template: Read
docs/product-docs/templates/discovery-template.md(if exists), otherwise use standard structure below - Create task directory:
tasks/task-<date>-[feature-name]/ - Write specification with at minimum these sections:
- Feature Summary: one-paragraph description
- Business Context: why this feature matters, who uses it
- Trading Domain Concepts: orders/positions/accounts/market-data involved
- Acceptance Criteria: numbered, testable
- Architecture Impact: layers touched, new files/projects, DB changes
- Skill Compliance (if UI): rules from
trading-component-patterns.mdthat apply - Open Questions: unresolved items needing product/business decision
- Out of Scope: explicit exclusions to prevent scope creep
- Risks: technical and business risks
- Output file:
discovery-[feature-name].md
- Present summary to user for confirmation
If design exploration reveals the feature is not viable: Document reasons in discovery-[feature-name]-rejected.md with rationale, and stop here.
Output
tasks/task-<date>-[feature-name]/discovery-[feature-name].md
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/new-feature-discovery-trading-mryiqfj2' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/new-feature-discovery-trading-mryiqfj2/download' --output '.skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md.part' && mv '.skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md.part' '.skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md' && test -s '.skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/nf' && cp -R '.skill-downloads/new-feature-discovery-trading-mryiqfj2' '.claude/skills/nf'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/new-feature-discovery-trading-mryiqfj2'openskills read 'new-feature-discovery-trading-mryiqfj2'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.