Install
$ agentstack add skill-ajeeshworkspace-indian-trading-skills-weekly-fno-trade-planner ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Weekly F&O Trade Planner
Overview
A complete weekly trading workflow for Indian F&O markets — from macro thesis to position management. This skill identifies high-conviction directional trades by combining news analysis, sector screening, technical confirmation, and institutional flow data, then manages the position with structured stop-loss and profit-booking rules.
Designed for retail traders with limited capital who prefer option buying over selling. Supports both Groww MCP and Zerodha Kite MCP for live execution.
Phase 1: News & Macro Scan
Goal
Identify the dominant narrative driving markets this week.
Steps
- Fetch breaking news and macro events:
WebSearch: "Indian stock market news this week {current_date}"
WebSearch: "global markets impact India {current_week}"
WebSearch: "RBI SEBI announcement {current_month} {current_year}"
WebSearch: "geopolitical risk India market {current_date}"
- Categorize the macro environment:
| Category | Examples | Typical F&O Play | |----------|----------|------------------| | Geopolitical crisis | War, sanctions, oil shock | Index PUTs (Nifty/BankNifty) | | Policy event | RBI rate decision, budget, SEBI circular | Straddle/strangle before event | | Earnings season | IT/Banking results week | Stock options directional | | Global risk-off | US recession fear, China slowdown, Fed hawkish | Index PUTs, IT stock CALLs (INR weak) | | Domestic momentum | DII buying, reform news, GDP beat | Index CALLs, banking CALLs | | Sector rotation | Defence order, pharma approval, EV policy | Sector-specific stock options | | Low conviction | No clear driver, range-bound | Avoid or play iron condor |
- Rate the macro conviction (1-5):
- 5: Clear, strong catalyst with defined timeline (e.g., war escalation, surprise rate cut)
- 4: Strong theme but timing uncertain
- 3: Moderate — multiple conflicting signals
- 2: Weak — mostly noise
- 1: No conviction — skip the week or go very small
Rule: Only proceed to Phase 2 if conviction >= 3.
Phase 2: Sector & Instrument Identification
Goal
Find the ONE instrument most likely to move meaningfully this week.
Steps
- Screen market movers and sectors:
Use whichever broker MCP is connected:
# Groww MCP
fetch_market_movers_and_trending_stocks_funds(
discovery_filter_types=["TOP_GAINERS", "TOP_LOSERS", "VOLUME_SHOCKERS",
"YEARLY_HIGH", "YEARLY_LOW", "STOCKS_IN_NEWS"]
)
fetch_curated_fno(fno_filter_types=["GAINERS", "LOSERS", "TOP_TRADED"])
# Zerodha Kite MCP — use web search for movers, then:
# search_instruments(query="{sector_leader}")
- Check institutional flows (invoke
fii-dii-flow-trackerskill):
- FII net buy/sell trend (last 5-10 days)
- DII positioning
- Sector-wise FII allocation shifts
- Narrow to ONE instrument using this priority:
- Index (Nifty/BankNifty): For macro/geopolitical/broad market themes
- Sector ETF or index: For sector rotation themes
- Single stock: For earnings/company-specific catalysts (must be in F&O list)
- Validate F&O availability:
# Groww MCP
fno_mcx_contracts_search_tool(search_term="{instrument_name}")
# Zerodha Kite MCP
search_instruments(query="{instrument_name}", segment="NFO-OPT")
Selection Criteria
The ideal instrument has:
- Direct exposure to the identified macro theme
- High F&O liquidity (tight bid-ask spread)
- Clear technical setup (trending, not choppy)
- Manageable lot size for user's capital
Phase 3: Direction & Technical Confirmation
Goal
Determine the probable direction (bullish/bearish) with technical evidence.
Steps
- Fetch price data (daily and hourly):
# Groww MCP
fetch_historical_candle_data(
trading_symbol="{symbol}",
start_time="{60_days_ago} 09:15:00",
end_time="{today} 15:30:00",
interval_in_minutes="1440"
)
# Zerodha Kite MCP
get_historical_data(
instrument_token="{token}",
from_date="{60_days_ago}",
to_date="{today}",
interval="day"
)
- Run technical indicators:
# Groww MCP
get_historical_technical_indicators(
trading_symbol="{symbol}",
start_time="{30_days_ago} 09:15:00",
end_time="{today} 15:30:00",
interval_in_minutes="1440",
indicators=["sma", "ema", "rsi", "macd", "supertrend", "bollinger", "atr", "vwap"]
)
# Zerodha Kite MCP — fetch raw candles and compute indicators manually or via yfinance
- Identify key levels:
- Support levels: Recent swing lows, round numbers, SMA/EMA zones
- Resistance levels: Recent swing highs, previous breakdown points
- Trend: Higher highs/lows (bullish) or lower highs/lows (bearish)
- Momentum: RSI, MACD crossover direction, SuperTrend signal
- Check Open Interest for institutional positioning:
# Groww MCP
get_open_interest_analysis(symbol="{symbol}", view="all")
# Zerodha Kite MCP — use web search for OI data from NSE
- Heavy PUT writing at a strike = institutional support floor
- Heavy CALL writing at a strike = institutional resistance ceiling
- PCR > 1.2 = market leaning bullish (hedged)
- PCR = 4 and direction is clear
- Always when an active geopolitical/macro crisis is ongoing
Steps
- Check GIFT Nifty / SGX Nifty (after hours):
WebSearch: "GIFT Nifty live today {current_date}"
WebSearch: "SGX Nifty futures {current_date} evening"
- GIFT Nifty trading > 100 pts below close = high gap-down probability
- GIFT Nifty trading > 100 pts above close = high gap-up probability
- Check overnight global cues:
WebSearch: "US futures S&P Nasdaq live {current_date}"
WebSearch: "Asian markets Japan China {current_date} evening"
WebSearch: "crude oil price Brent live tonight {current_date}"
- US futures down > 1% = gap-down signal
- Brent crude spike > 3% overnight = strong gap-down for India
- Asian markets deep red = confirms gap-down
- Check overnight news catalysts:
WebSearch: "{active_crisis} latest news tonight {current_date}"
WebSearch: "breaking news global markets after hours {current_date}"
- New escalation in active crisis = gap accelerator
- De-escalation / ceasefire = reverse gap
- Calculate Gap Probability Score:
| Factor | Bearish Gap | Bullish Gap | |--------|-------------|-------------| | GIFT Nifty > 100 pts below close | +30% | — | | GIFT Nifty > 200 pts below close | +50% | — | | US futures down > 1% | +15% | — | | Brent crude up > 3% overnight | +20% | — | | Active geopolitical crisis escalating | +20% | — | | FII selling > ₹3,000 cr today | +10% | — | | GIFT Nifty > 100 pts above close | — | +30% | | GIFT Nifty > 200 pts above close | — | +50% | | US futures up > 1% | — | +15% | | Ceasefire / de-escalation news | — | +25% | | FII buying > ₹2,000 cr today | — | +10% |
Score > 60% = HIGH probability gap. RECOMMEND IMMEDIATE ENTRY.
- Immediate Entry vs Wait Decision:
| Gap Probability | Time | Action | |----------------|------|--------| | > 60% | Before 3:15 PM | BUY NOW. Do not wait for tomorrow. | | > 60% | After 3:30 PM | Alert user: Buy at 9:15 AM tomorrow. Pre-set limit order. | | 40-60% | Any | Buy half position now, half at open | | = 4** — Don't gamble on uncertain gaps
- Max 40% of capital — Even with high conviction, respect position limits
- Always use monthly expiry for pre-gap entries — gives time if gap is delayed
- Set SL immediately — Pre-gap entries can go wrong (gap doesn't materialize)
- If gap doesn't happen next day — Hold if thesis is intact, exit if thesis breaks
- Don't chase if you miss the window — Post-gap premiums are 2-3x, reduce lots
Phase 5: Execution
Goal
Place the trade with proper order types.
Steps
- Verify live price before entry:
# Groww MCP
get_ltp(search_queries=["{option_symbol}"], segment="FNO", query_type="fno")
get_quotes_and_depth(search_query="{option_symbol}", segment="FNO", entity_type="fno")
# Zerodha Kite MCP
get_ltp(instruments=["NFO:{option_symbol}"])
get_quotes(instruments=["NFO:{option_symbol}"])
- Place the order (always ask user for confirmation):
# Groww MCP
place_fno_order(
trading_symbol="{option_symbol}",
num_lots={n},
transaction_type="BUY",
order_type="LIMIT",
price={limit_price},
product="NRML"
)
# Zerodha Kite MCP
place_order(
exchange="NFO",
tradingsymbol="{option_symbol}",
transaction_type="BUY",
quantity={quantity},
order_type="LIMIT",
price={limit_price},
product="NRML"
)
- Set GTT stop-loss immediately after fill:
# Groww MCP
place_fno_order(
trading_symbol="{option_symbol}",
num_lots={n},
transaction_type="SELL",
order_type="LIMIT",
price={sl_price},
trigger_price={sl_trigger},
smart_order_category="GTT",
trigger_direction="DOWN",
product="NRML"
)
# Zerodha Kite MCP
place_gtt_order(
trigger_type="single",
tradingsymbol="{option_symbol}",
exchange="NFO",
trigger_values=[{sl_trigger}],
last_price={current_ltp},
orders=[{
"transaction_type": "SELL",
"quantity": {quantity},
"price": {sl_price},
"order_type": "LIMIT",
"product": "NRML"
}]
)
- Set GTT profit target (same pattern as above with trigger_direction="UP")
Important GTT notes:
- GTT triggers on the OPTION's LTP, not the underlying price
- Always set trigger_price slightly before the limit price (e.g., trigger at ₹95, sell at ₹90 for SL)
- On Groww: GTT may show "verification failed" — this is a known display bug, the order is active
- After exiting a position, ALWAYS cancel orphaned GTTs
Phase 6: Position Management (Ongoing)
Goal
Manage the position daily with structured rules for SL tightening, partial exits, and full exit.
Daily Monitoring Checklist
- Check position P&L:
# Groww MCP
get_my_trading_positions_today()
get_specific_stock_position(trading_symbol="{option}", segment="FNO")
# Zerodha Kite MCP
get_positions()
- Check underlying price action:
# Use either broker MCP for live price + intraday chart
get_ltp(search_queries=["{underlying}"])
fetch_historical_candle_data(
trading_symbol="{underlying}",
start_time="{today} 09:15:00",
end_time="{today} 15:30:00",
interval_in_minutes="5"
)
- Check news for thesis changes:
WebSearch: "{macro_theme} latest news {current_date}"
- Check institutional flows (FII/DII daily data via
fii-dii-flow-trackerskill)
Stop-Loss Tightening Rules
| Premium Move | New SL Level | Logic | |-------------|-------------|-------| | Entry | -30% of premium | Initial risk limit | | +30% profit | Breakeven (entry price) | "Free trade" — can't lose | | +50% profit | Entry + 20% | Lock 20% guaranteed profit | | +100% profit | Entry + 50% | Lock 50%, let rest run | | +150%+ profit | Trail by 30% from peak | Ride the momentum |
To tighten a GTT SL:
# Groww MCP
modify_order_with_confirmation(
groww_order_id="{gtt_order_id}",
quantity={qty},
segment="FNO",
order_type="LIMIT",
price={new_sl_price},
trigger_price={new_trigger},
trigger_direction="DOWN",
order_category="GTT"
)
# Zerodha Kite MCP
modify_gtt_order(
trigger_id={gtt_id},
trigger_type="single",
tradingsymbol="{option_symbol}",
exchange="NFO",
trigger_values=[{new_trigger}],
last_price={current_ltp},
orders=[{
"transaction_type": "SELL",
"quantity": {qty},
"price": {new_sl_price},
"order_type": "LIMIT",
"product": "NRML"
}]
)
Partial Profit Booking Rules
| Condition | Action | Remaining | |-----------|--------|-----------| | Target 1 hit (+50-80%) | Exit 40-50% of position | 50-60% as runner | | Target 2 hit (+100-150%) | Exit another 30% | 20-30% as runner | | Momentum continues | Trail SL on remaining | Let it ride | | Thesis weakens | Exit all remaining | Protect profits |
Full Exit Triggers
Exit the ENTIRE position when:
- SL hit: No questions, no hoping — exit immediately
- Thesis invalidated: Key news changes the setup (e.g., ceasefire in a war trade)
- Time decay risk: = 3, the skill MUST run Phase 4.5 to check for overnight gap opportunities.
The #1 profit multiplier in F&O is buying BEFORE the gap, not AFTER.
If the user invokes this skill in the evening / after hours:
- Skip Phases 1-3 if thesis is already established
- Go DIRECTLY to Phase 4.5 (Gap Probability)
- If gap score > 60%, issue Immediate Entry Alert
- NEVER say "wait for tomorrow" when gap probability is high and market is still open
- If market is closed, alert user to set pre-market limit order or buy at 9:15 sharp
Tools Used
Use whichever broker MCP is connected (Groww or Zerodha Kite):
| Action | Groww MCP | Zerodha Kite MCP | Fallback | |--------|-----------|------------------|----------| | Live price | get_ltp | get_ltp | yfinance | | Market depth | get_quotes_and_depth | get_quotes | — | | Historical data | fetch_historical_candle_data | get_historical_data | yfinance | | Technical indicators | get_historical_technical_indicators | — (compute from candles) | yfinance + pandas | | Open interest | get_open_interest_analysis | — | Web search (NSE) | | Greeks/IV | get_greeks_for_fno_contract | — | Black-Scholes script | | ATM straddle | get_atm_straddle_chart | — | Manual calculation | | Margin check | calculate_fno_margin | get_margins | — | | F&O search | fno_mcx_contracts_search_tool | search_instruments | — | | Place order | place_fno_order | place_order | — | | GTT orders | place_fno_order (GTT) | place_gtt_order | — | | Modify GTT | modify_order_with_confirmation | modify_gtt_order | — | | Cancel GTT | cancel_order_with_confirmation | delete_gtt_order | — | | Positions | get_my_trading_positions_today | get_positions | — | | Portfolio | get_equity_portfolio_holdings | get_holdings | — | | Market movers | fetch_market_movers_and_trending_stocks_funds | — | Web search | | F&O movers | fetch_curated_fno | — | Web search | | Trading calendar | resolve_market_time_and_calendar | — | Web search | | Screener | fetch_technical_screener | — | Web search | | News | WebSearch | WebSearch | WebSearch | | FII/DII flows | fii-dii-flow-tracker skill | fii-dii-flow-tracker skill | Web search | | Calculator | calculator | — | Python |
Disclaimer
This skill provides analysis and trade suggestions based on publicly available data and technical/fundamental indicators. It is NOT financial advice. All F&O trading involves significant risk of loss. Users must make their own investment decisions and are responsible for their own trades. Past patterns do not guarantee future results.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ajeeshworkspace
- Source: ajeeshworkspace/indian-trading-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.