Synthèse automatique
Mène un entretien de découverte structuré pour explorer, remettre en question et documenter une nouvelle fonctionnalité de trading, jusqu'à produire une spécification formelle.
Points forts
- Impose l'usage de l'outil AskUserQuestion pour toute clarification, au lieu de supposer un comportement
- Lance des agents Explore en parallèle pour ancrer la spec dans le code, les contrats et le schéma de base existants
- Comporte une passe dédiée de remise en question avec approches alternatives et cas limites propres au trading (exécutions partielles, conditions de course, autorisations)
- Un « Platform Skill Gate » oblige à lire les règles de composants UI avant toute recommandation frontend
Limites
- Fortement lié à l'arborescence du dépôt ETNA_TRADER (frontend/ACAT, Etna.Trading.Contracts, db/, qa/) et non transposable tel quel
- Dépend d'outils spécifiques à Claude Code (AskUserQuestion, agents Task/Explore, .claude/rules)
- Ne produit qu'une spécification, pas d'implémentation, et la qualité dépend de l'implication de l'utilisateur dans l'entretien
À utiliser au démarrage d'une nouvelle fonctionnalité de trading, lorsqu'il faut une spécification rigoureuse avant de coder.
À éviter pour un simple brainstorming rapide ou lorsque la spec est déjà claire et qu'il ne reste que l'implémentation.
Analyse de sécurité
SûrThe 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.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
/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
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
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. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/new-feature-discovery-trading-mryiqfj2'openskills read 'new-feature-discovery-trading-mryiqfj2'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/new-feature-discovery-trading-mryiqfj2/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.