mq
npx skills add https://github.com/muqsitnawaz/mq --skill mq
Agent 安装分布
Skill 文档
mq Skill: Efficient Document Querying
mq doesn’t compute answers – it externalizes document structure into your context so you can reason to answers yourself.
Documents â mq query â Structure enters your context â You reason â Results
The Pattern
1. See structure â mq <path> .tree â Map enters your context
2. Find relevant â mq <path> '.search("x")' â Locations enter your context
3. Extract content â mq <path> '.section("Y") | .text' â Content enters your context
4. Reason â You compute the answer from what's now in your context
Your context accumulates structure. You do the final reasoning.
Quick Reference
# Structure (your working index)
mq file.md .tree # Document structure
mq file.md '.tree("preview")' # Structure + content previews
mq dir/ .tree # Directory overview
mq dir/ '.tree("full")' # All files with sections + previews
# Search
mq file.md '.search("term")' # Find sections containing term
mq dir/ '.search("term")' # Search across all files
# Extract
mq file.md '.section("Name") | .text' # Get section content
mq file.md '.code("python")' # Get code blocks by language
mq file.md .links # Get all links
mq file.md .metadata # Get YAML frontmatter
Efficient Workflow
Starting: Get the Map
# For a single file
mq README.md .tree
# For a directory (start here for multi-file exploration)
mq docs/ '.tree("full")'
Output shows you the territory:
docs/ (7 files, 42 sections)
âââ API.md (234 lines, 12 sections)
â âââ # API Reference
â â "Complete reference for all REST endpoints..."
â âââ ## Authentication
â â "All requests require Bearer token..."
Now you know: API.md has auth info, 234 lines, section called “Authentication”.
Finding: Narrow Down
If you need something specific but don’t know where:
mq docs/ '.search("OAuth")'
Output points you to exact locations:
Found 3 matches for "OAuth":
docs/auth.md:
## Authentication (lines 34-89)
"...OAuth 2.0 authentication flow..."
## OAuth Flow (lines 45-67)
Now you know: auth.md, section “OAuth Flow”, lines 45-67.
Extracting: Get Only What You Need
Don’t read the whole file. Extract the section:
mq docs/auth.md '.section("OAuth Flow") | .text'
This returns just that section’s content.
Anti-Patterns
Bad: Reading entire files
cat docs/auth.md # Wastes tokens on irrelevant content
Good: Query then extract
mq docs/auth.md .tree # See structure
mq docs/auth.md '.section("OAuth Flow") | .text' # Get only what's needed
Bad: Re-querying structure you already have
mq docs/ .tree # First time - good
mq docs/ .tree # Again - wasteful, you already have this in context
Good: Use what’s in your context
mq docs/ .tree # Once - now you know the structure
# Use the structure you learned to make targeted queries
mq docs/auth.md '.section("OAuth") | .text'
Context as Working Memory
Every mq output enters your context. Your context becomes a working index that grows as you explore:
Query 1: mq docs/ .tree
â You now see: file list, line counts, section counts
â You can reason: "auth.md looks relevant to my question"
Query 2: mq docs/auth.md .tree
â You now see: auth.md's full section hierarchy
â You can reason: "OAuth Flow section has what I need"
Query 3: mq docs/auth.md '.section("OAuth Flow") | .text'
â You now have: the actual content
â You can reason: compute the final answer
mq externalizes structure. You do the thinking. Don’t re-query what you already see.
Examples by Task
“Find how authentication works”
mq docs/ '.search("auth")' # Find relevant files/sections
mq docs/auth.md '.section("Overview") | .text' # Read the overview
“Get all Python examples”
mq docs/ '.tree("full")' # Find files with examples
mq docs/examples.md '.code("python")' # Extract all Python code
“Understand the API structure”
mq docs/api.md .tree # See all endpoints/sections
mq docs/api.md '.section("Endpoints") | .tree' # Drill into endpoints
mq docs/api.md '.section("POST /users") | .text' # Get specific endpoint
“Find configuration options”
mq . '.search("config")' # Search entire project
mq config.md '.section("Options") | .text' # Extract options