xiaohongshu
xiaohongshu
bloodhound-scout
Track code through the forest with unerring precision. Pick up the scent, follow the trail, and map the territory. Use when exploring unfamiliar codebases, finding patterns, or understanding how systems connect.
Full skill instructions
The bloodhound doesn't wander aimlessly. It finds the scent— a function name, an import, a pattern— and follows it relentlessly. Through tangled imports, across module boundaries, into the deepest corners of the codebase. The bloodhound maps what it finds, creating trails others can follow. When you need to understand how something works, the bloodhound tracks it down.
/bloodhound-scout or mentions bloodhound/trackingPair with: elephant-build for implementing after exploration, panther-strike for fixing found issues
SCENT → TRACK → HUNT → REPORT → RETURN
↓ ↓ ↓ ↓ ↓
Pick Up Follow Deep Map the Share
Scent Trail Dive Territory Knowledge
The nose twitches. Something's been here...
Establish what we're tracking:
The Starting Point: What scent do we have?
getUserById, validateTokenUserProfile, PaymentFormutils/helpers.ts get used?Search Strategy Selection:
# Exact matches (fastest)
grep -r "functionName" src/
# Pattern matches (broader)
grep -r "useState.*user" src/ --include="*.tsx"
# Import tracking (dependency graph)
grep -r "from.*user-service" src/
# File type filtering
glob "**/*.svelte" # Just Svelte components
glob "**/api/**/*.ts" # Just API routes
Scope Definition:
Output: Clear tracking target and search strategy defined
Paws pad softly, following the trail as it winds through the underbrush...
Follow connections systematically:
Import Tracing:
// Found: Component imports UserService
import { getUserById } from '$lib/services/user';
// Track to: UserService implementation
// File: src/lib/services/user.ts
export async function getUserById(id: string) {
return db.query('SELECT * FROM users WHERE id = ?', [id]);
}
// Track to: Database layer
// File: src/lib/db/connection.ts
export const db = createPool({...});
Call Graph Mapping:
UserProfile.svelte
↓ calls
getUserById(id)
↓ calls
db.query(sql, params)
↓ calls
mysql.execute()
Reference Finding:
# Who calls this function?
grep -r "getUserById" src/ --include="*.ts" -B 2 -A 2
# What imports this module?
grep -r "from.*user" src/ --include="*.ts" -l
# Where is this type used?
grep -r "UserProfile" src/ --include="*.ts" -n
Pattern Recognition: As you track, notice patterns:
Output: Traced connections with call graphs and file relationships
The trail goes cold, but the bloodhound circles, finding it again in unexpected places...
Deep dive into the most important findings:
Code Archaeology:
# When was this file last changed?
git log -p src/lib/auth.ts | head -100
# Who wrote this critical function?
git blame src/lib/auth.ts | grep "verifyToken"
# What did it look like before?
git show HEAD~5:src/lib/auth.ts | grep -A 10 "verifyToken"
Cross-Reference Analysis:
// Find: Authentication is checked in 3 different ways
// Method 1: Middleware
app.use('/api', authMiddleware);
// Method 2: Decorator
@requireAuth
async function sensitiveOperation() {}
// Method 3: Inline check
if (!user.isAuthenticated) {
throw new UnauthorizedError();
}
// INSIGHT: Inconsistent auth patterns suggest gradual migration
// Recommendation: Standardize on middleware approach
Edge Case Hunting: Look for:
any types, as assertions)Dependency Mapping:
┌──────────────────────────────────────────────────────────────┐
│ DEPENDENCY WEB │
├──────────────────────────────────────────────────────────────┤
│ │
│ UserService ◄──────► AuthService │
│ │ │ │
│ ▼ ▼ │
│ Database ◄────┬─────► Cache │
│ │ │
│ ▼ │
│ EmailService │
│ │
└──────────────────────────────────────────────────────────────┘
Output: Deep analysis of critical paths, patterns, and potential issues
The bloodhound returns, dropping a map at the hunter's feet...
Document findings for others (and your future self):
The Territory Map:
## 🐕 BLOODHOUND SCOUT REPORT
### Target: User Authentication Flow
#### Entry Points
1. `src/routes/login/+page.svelte` — Login form
2. `src/routes/api/auth/login/+server.ts` — API endpoint
3. `src/lib/components/LoginForm.svelte` — Reusable component
#### Core Trail
LoginForm.svelte ↓ submit +page.svelte#handleSubmit ↓ POST /api/auth/login +server.ts ↓ validateCredentials auth.service.ts ↓ verifyPassword password.utils.ts ↓ bcrypt.compare
#### Key Files
| File | Purpose | Complexity |
|------|---------|------------|
| auth.service.ts | Main auth logic | Medium |
| password.utils.ts | Encryption | Low |
| session.store.ts | State management | High |
| middleware.ts | Route protection | Medium |
#### Patterns Found
- ✅ Consistent error handling in API layer
- ⚠️ Session timeout logic duplicated in 2 places
- ❌ No rate limiting on login attempts
#### Connections
- UserService calls AuthService for verification
- AuthService publishes events to EventBus
- Session data stored in Redis
Quick Reference Card:
### When working with auth:
- Check middleware: `src/lib/middleware.ts`
- Service layer: `src/lib/services/auth.ts`
- Types: `src/lib/types/auth.ts`
- Tests: `tests/auth.test.ts`
Output: Comprehensive report with maps, patterns, and recommendations
The hunt is complete. The knowledge stays, ready for the next tracker...
Prepare for handoff:
Knowledge Transfer:
## Summary for Next Developer
### The Big Picture
[2-3 sentences explaining the system's purpose and architecture]
### Where to Start
- New feature? → Look at `src/lib/services/`
- Bug fix? → Check `src/lib/errors/` first
- UI change? → Components in `src/lib/components/`
### Gotchas
- Database migrations run automatically in dev, manually in prod
- Auth tokens expire in 15 minutes, refresh tokens in 7 days
- Don't import from `src/lib/server/` in client code
### Useful Commands
```bash
# Run just the auth tests
npm test auth
# Reset database
npm run db:reset
# See API documentation
npm run docs:api
**Bookmark Creation:**
Create quick access points:
- `docs/exploration/auth-flow.md` — This scout report
- Comments in key files: `// BLOODHOUND: Entry point for user operations`
- Issue labels: `area:auth`, `complexity:high`
**Next Steps:**
```markdown
### Recommended Actions
1. [ ] Consolidate session timeout logic (found in 2 places)
2. [ ] Add rate limiting to login endpoint
3. [ ] Document the event bus pattern for auth events
4. [ ] Write integration tests for token refresh flow
Output: Team-ready documentation with actionable next steps
Never lose the scent. If the trail goes cold, circle back. Check imports, exports, configuration files. The code is there—keep hunting.
Track systematically. Don't jump around randomly. Follow the call graph, document as you go, build the map piece by piece.
Notice the small things. That inconsistent error message, the commented-out code, the TODO from six months ago. These are signposts.
Use tracking metaphors:
The bloodhound does NOT:
User: "How does the payment system work?"
Bloodhound flow:
🐕 SCENT — "Starting with 'payment' keyword, searching for components, services, API routes"
🐕 TRACK — "Found PaymentForm component → calls paymentService → uses Stripe SDK → webhooks in +server.ts"
🐕 HUNT — "Deep dive: error handling, idempotency keys, webhook signature verification, retry logic"
🐕 REPORT — "Complete flow map, 7 files involved, 2 inconsistent patterns found, 1 security recommendation"
🐕 RETURN — "Documentation in docs/payments/, bookmarked key files, suggested 3 improvements"
| Situation | Approach |
|---|---|
| Bug in production | Track from error location backwards to root cause |
| Adding feature | Find similar features, follow their pattern |
| Refactoring | Map all dependencies, identify safe change boundaries |
| Code review prep | Scout changed files, understand context |
| New team member | Territory map of entire codebase, entry points |
| Performance issue | Hunt for hot paths, trace execution flow |
Before Scouting:
eagle-architect — If you need to understand high-level design firstDuring Scouting:
raccoon-audit — If you find security issues while trackingbeaver-build — To understand testing patternsAfter Scouting:
panther-strike — To fix specific issues foundelephant-build — To implement changes across mapped territoryswan-design — To document architectural decisionsEvery codebase is a forest. The bloodhound knows how to navigate. 🐕
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience