Install
$ agentstack add skill-rshade-finfocus-jqschema ✓ 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
jqschema - JSON Schema Discovery
Use ./.github/skills/jqschema/jqschema.sh directly from the repository skill folder to discover complex JSON structure.
Purpose
Generate a compact structural schema (keys + types) from JSON input. Use it when:
- Analyzing tool outputs from GitHub search (searchcode, searchissues, search_repositories)
- Exploring API responses with large payloads
- Understanding the structure of unfamiliar data without verbose output
- Planning queries before fetching full data
Usage
# Analyze a file
cat data.json | ./.github/skills/jqschema/jqschema.sh
# Analyze command output
echo '{"name": "test", "count": 42, "items": [{"id": 1}]}' | ./.github/skills/jqschema/jqschema.sh
# Analyze GitHub search results
gh api search/repositories?q=language:go | ./.github/skills/jqschema/jqschema.sh
How It Works
The script transforms JSON data by:
- Replacing object values with their type names ("string", "number", "boolean", "null")
- Reducing arrays to their first element's structure (or empty array if empty)
- Recursively processing nested structures
- Outputting compact (minified) JSON
Example
Input:
{
"total_count": 1000,
"items": [
{"login": "user1", "id": 123, "verified": true},
{"login": "user2", "id": 456, "verified": false}
]
}
Output:
{"total_count":"number","items":[{"login":"string","id":"number","verified":"boolean"}]}
Best Practices
Use this script when:
- You need to understand the structure of tool outputs before requesting full data
- GitHub search tools return large datasets (use
perPage: 1and pipe through schema minifier first) - Exploring unfamiliar APIs or data structures
- Planning data extraction strategies
Example workflow for GitHub search tools:
# Step 1: Get schema with minimal data (fetch just 1 result)
# This helps understand the structure before requesting large datasets
echo '{}' | gh api search/repositories -f q="language:go" -f per_page=1 | ./.github/skills/jqschema/jqschema.sh
# Output shows the schema:
# {"incomplete_results":"boolean","items":[{...}],"total_count":"number"}
# Step 2: Review schema to understand available fields
# Step 3: Request full data with confidence about structure
# Now you know what fields are available and can query efficiently
Using with GitHub MCP tools: When using tools like search_code, search_issues, or search_repositories, pipe the output through jqschema to discover available fields:
# Save a minimal search result to a file
gh api search/code -f q="jq in:file language:bash" -f per_page=1 > /tmp/sample.json
# Generate schema to understand structure
cat /tmp/sample.json | ./.github/skills/jqschema/jqschema.sh
# Now you know which fields exist and can use them in your analysis
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: rshade
- Source: rshade/finfocus
- License: Apache-2.0
- Homepage: https://rshade.github.io/finfocus/
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.