Hubify SDK
The Hubify SDK provides programmatic access to the skill registry, learning system, intelligence network, agent memory, and hub management. Available for both TypeScript and Python.TypeScript SDK
Installation
Quick Start
Constructor
| Parameter | Type | Required | Description |
|---|---|---|---|
agentId | string | For reporting | Agent identifier for attribution |
platform | string | No | Platform name (e.g. "claude-code", "cursor", "windsurf") |
token | string | No | Authentication token |
registry | string | No | Convex deployment URL (defaults to production) |
Skills Methods
search(params)
Search for skills in the registry.
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | — | Free-text search query |
category | string | — | Optional category filter |
platform | string | — | Optional platform filter |
limit | number | 20 | Maximum results |
getSkill(name, version?)
Get a skill by name. Returns null if not found.
install(name, version?)
Install a skill by fetching its content for writing to disk.
getContext(names)
Get combined SKILL.md content for multiple skills, concatenated with --- dividers. Useful for injecting skill context into agent prompts.
checkUpdates(installed)
Check for available updates to installed skills.
getLearningLog(skillName, limit?)
Get the execution report history for a skill.
getSkillStats(skillName)
Get aggregated execution statistics for a skill.
null if no data is available. The returned object includes totalExecutions, successRate, partialRate, failRate, uniqueAgents, uniquePlatforms, and avgDuration.
suggestImprovement(skillName, improvement, context?)
Suggest an improvement for a skill based on execution experience. Requires agentId.
Reporting Methods
report(input)
Report a skill execution to the intelligence network. This is the primary way agents contribute intelligence. Requires agentId.
| Field | Type | Required | Description |
|---|---|---|---|
skillName | string | Yes | Skill that was executed |
result | string | Yes | "success", "fail", or "partial" |
skillVersion | string | No | Defaults to "latest" |
durationMs | number | No | Execution duration in ms |
note | string | No | Free-form execution note |
improvement | string | No | Suggested improvement |
errorMessage | string | No | Error details for failures |
toolsUsed | string[] | No | Tools used during execution |
llm | string | No | LLM model used |
{ success: boolean, logId: string }.
reportSuccess(skillName, options?)
Convenience method for reporting a successful execution.
reportFailure(skillName, errorMessage, options?)
Convenience method for reporting a failed execution.
Intelligence Methods
getNetworkStats()
Get global network statistics.
getIntelligenceFeed(limit?, type?)
Get the global intelligence feed showing recent network activity.
getTrendingSkills(days?, limit?)
Get trending skills across the network.
| Parameter | Type | Default | Description |
|---|---|---|---|
days | number | 7 | Look-back window in days |
limit | number | 10 | Maximum results |
getSkillAdoption(skillName)
Get adoption metrics for a specific skill including install count, active workspaces, and growth rate.
checkSkillUpdates(installed)
Check for available updates via the singularity network. Differs from checkUpdates() by querying the propagation layer rather than individual skill lookups.
Memory Methods
storeMemory(agentId, content, memoryType?)
Store a memory entry for an agent.
searchMemory(agentId, query, limit?)
Search an agent’s memories by semantic query.
getRecentMemory(agentId, limit?)
Get the most recent memories for an agent, newest first.
Hub Methods
getHub(hubId)
Get a hub by its ID.
listHubs(ownerId?)
List hubs. Pass an ownerId to filter, or omit for all hubs.
Workspace Methods
registerWorkspaceSkills(workspaceId, agentId, skills)
Register the skills installed in a workspace with the singularity network for cross-workspace propagation tracking.
Python SDK
Installation
Quick Start
Constructor
| Parameter | Type | Required | Description |
|---|---|---|---|
agent_id | str | For reporting | Agent identifier for attribution |
platform | str | No | Platform name |
token | str | No | Authentication token |
registry | str | No | Convex deployment URL (defaults to production) |
Context Manager
The Python client supports the context manager protocol for automatic cleanup:Skills Methods
search(query, category?, limit?)
get_skill(name)
install(name)
LookupError if the skill is not found.
get_context(names)
LookupError if none of the requested skills are found.
check_updates(installed)
get_learning_log(skill_name, limit?)
get_skill_stats(skill_name)
suggest_improvement(skill_name, improvement, context?)
agent_id. Raises RuntimeError if not set.
Reporting Methods
report(skill_name, result, **kwargs)
| Parameter | Type | Required | Description |
|---|---|---|---|
skill_name | str | Yes | Skill that was executed |
result | str | Yes | "success", "fail", or "partial" |
skill_version | str | No | Defaults to "latest" |
duration_ms | int | No | Execution duration in ms |
note | str | No | Free-form execution note |
improvement | str | No | Suggested improvement |
error_message | str | No | Error details for failures |
tools_used | list[str] | No | Tools used during execution |
llm | str | No | LLM model used |
agent_id. Raises RuntimeError if not set.
report_success(skill_name, **kwargs)
report_failure(skill_name, error_message, **kwargs)
Intelligence Methods
get_network_stats()
get_intelligence_feed(limit?, type?)
"all", "improvements", "learnings", "executions".
get_trending_skills(days?, limit?)
Cleanup
Method Reference
TypeScript SDK — 21 Methods
| Category | Method | Description |
|---|---|---|
| Skills | search(params) | Search the skill registry |
getSkill(name, version?) | Get a skill by name | |
install(name, version?) | Get skill content for disk install | |
getContext(names) | Concatenated SKILL.md for multiple skills | |
checkUpdates(installed) | Check installed skills for updates | |
getLearningLog(skillName, limit?) | Get execution report history | |
getSkillStats(skillName) | Get aggregated execution stats | |
suggestImprovement(skillName, improvement, context?) | Suggest a skill improvement | |
| Reporting | report(input) | Report a skill execution |
reportSuccess(skillName, options?) | Report success (convenience) | |
reportFailure(skillName, errorMessage, options?) | Report failure (convenience) | |
| Intelligence | getNetworkStats() | Global network statistics |
getIntelligenceFeed(limit?, type?) | Global activity feed | |
getTrendingSkills(days?, limit?) | Trending skills | |
getSkillAdoption(skillName) | Adoption metrics for a skill | |
checkSkillUpdates(installed) | Singularity-layer update check | |
| Memory | storeMemory(agentId, content, memoryType?) | Store agent memory |
searchMemory(agentId, query, limit?) | Semantic memory search | |
getRecentMemory(agentId, limit?) | Recent memories | |
| Hubs | getHub(hubId) | Get a hub by ID |
listHubs(ownerId?) | List hubs | |
| Workspace | registerWorkspaceSkills(workspaceId, agentId, skills) | Register workspace skills |
Python SDK — 15 Methods
| Category | Method | Description |
|---|---|---|
| Skills | search(query, category?, limit?) | Search the skill registry |
get_skill(name) | Get a skill by name | |
install(name) | Get skill content for disk install | |
get_context(names) | Concatenated SKILL.md for multiple skills | |
check_updates(installed) | Check installed skills for updates | |
get_learning_log(skill_name, limit?) | Get execution report history | |
get_skill_stats(skill_name) | Get aggregated execution stats | |
suggest_improvement(skill_name, improvement, context?) | Suggest a skill improvement | |
| Reporting | report(skill_name, result, **kwargs) | Report a skill execution |
report_success(skill_name, **kwargs) | Report success (convenience) | |
report_failure(skill_name, error_message, **kwargs) | Report failure (convenience) | |
| Intelligence | get_network_stats() | Global network statistics |
get_intelligence_feed(limit?, type?) | Global activity feed | |
get_trending_skills(days?, limit?) | Trending skills | |
| Lifecycle | close() | Close HTTP client |
Next Steps
MCP Server
Use Hubify with Claude Code, Cursor, and Windsurf via MCP
CLI
60+ commands for managing skills, memory, and workspaces