Claude-skill-registry Knack Reader
REST-based access to Knack Objects and Views for data extraction and transformation. Primary skill for reading HTI operational data from Knack data...
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/knack-reader" ~/.claude/skills/majiayu000-claude-skill-registry-knack-reader && rm -rf "$T"
manifest:
skills/data/knack-reader/SKILL.mdsource content
Knack Reader
Purpose
REST-based access to Knack Objects and Views for data extraction and transformation. Primary skill for reading HTI operational data from Knack database.
Core Functions
get_records
Endpoint:
GET /v1/objects/{object_key}/records
Parameters:
(string, required): Knack object identifier (e.g., "object_1", "object_5")object_key
(integer, optional): Number of records per page (default: 1000, max: 1000)rows_per_page
(integer, optional): Page number to retrieve (default: 1)page
(object, optional): Filter criteria (see knack_filter_sort skill)filters
(object, optional): Sort configuration (see knack_filter_sort skill)sort
Headers Required:
: HTI Knack application IDX-Knack-Application-Id
: API key for authenticationX-Knack-REST-API-Key
Example Usage:
const laptops = await get_records({ object_key: "object_1", params: { rows_per_page: 1000, page: 1 } });
Response Format:
{ "records": [...], "total_pages": 5, "current_page": 1, "total_records": 4327 }
get_view_records
Endpoint:
GET /v1/pages/{scene_id}/views/{view_id}/records
Parameters:
(string, required): Knack scene/page identifierscene_id
(string, required): Knack view identifierview_id
(string, optional): For user-specific datauser_token
Use Case: Retrieve data formatted according to view-level rules (calculated fields, display rules, permissions).
Example Usage:
const dashboardData = await get_view_records({ scene_id: "scene_12", view_id: "view_45" });
HTI-Specific Objects
Common Object Keys
- Laptop Inventory: Primary device tracking
- Donations: Donor organization records
- Training Sessions: Digital literacy event tracking
- Counties: Geographic distribution data
Best Practices
- Always use pagination for datasets >1000 records (see knack_pagination skill)
- Cache results for frequently accessed data (see knack_cache_optimizer skill)
- Use filters to reduce payload size when possible
- Respect rate limits: 10 requests/second maximum
Integration Points
- knack_pagination: For retrieving full datasets
- knack_filter_sort: For query optimization
- knack_cache_optimizer: For performance
- knack_data_cleaner: For post-retrieval validation
Error Handling
Common errors:
: Check API credentials401 Unauthorized
: Verify object_key/view_id404 Not Found
: Rate limit exceeded (use cache_optimizer)429 Too Many Requests
: Retry with exponential backoff500 Internal Server Error
Grant Reporting Use
Essential for quarterly reports:
- Acquired laptops count
- Converted/ready devices
- Discarded/recycled units
- Training session attendance