The Agent Skills endpoints manage the agent’s skill library: listing installed skills, searching and installing from the remote skill hub, previewing and importing skills, reading and writing skill source, and toggling trust/enable state. Skills are scoped to the requesting cwd/config_dir and are realm-scoped to the gateway’s own realm — a client-supplied X-Hoody-Realm or ?realm= is ignored when the gateway has its own pinned/active realm.
All endpoints accept the standard per-request scope headers (X-Hoody-Cwd, X-Hoody-Config-Dir, X-Hoody-Container, X-Hoody-Realm) and the ?realm= query alias.
Lists the installed skills (identity = root + rel) for the requesting cwd/config_dir, with their enabled/trust state. Realm-scoped to the gateway’s own realm.
Name In Type Required Description pagequery integer No 1-based page number for pagination. limitquery integer No Maximum items per page (0 = no pagination). X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
await client . agent . skills . listSkillsIterator ({ page : 1 , limit : 50 })
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills?page=1&limit=50 "
Returns the skill-hub fetch cache statistics (skills.cache_stats).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . getSkillHubCache ()
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/hub/cache "
Searches the remote skill hub (skills.hub_search). Pass ?q= in the query.
Name In Type Required Description qquery string No Search query. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" id " : " hub/commit-format " ,
" description " : " Conventional commit helper " ,
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . searchSkillHub ({ q : " commit format " })
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/hub/search?q=commit%20format "
Fetches a preview of a hub skill before install (skills.hub_preview). Pass ?id= to identify the hub skill.
Name In Type Required Description idquery string No Hub skill identifier. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" id " : " hub/commit-format " ,
" readme " : " # commit-format \n\n Formats conventional commits. " ,
" permissions " : [ " network.read " ]
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . previewSkillHub ({ id : " hub/commit-format " })
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/hub/preview?id=hub%2Fcommit-format "
Returns a skill’s source body (skills.read_source). Identify the skill by the daemon keys root_dir + rel_dir (the friendly aliases ?root= / ?rel= are also accepted and translated). The reply is {content, gen, path}; pass gen back as base_gen on the write to detect conflicts.
Name In Type Required Description root_dirquery string No Skill root directory (identity; alias: root). rel_dirquery string No Skill relative directory (identity; alias: rel). rootquery string No Friendly alias of root_dir (translated to root_dir server-side). relquery string No Friendly alias of rel_dir (translated to rel_dir server-side). X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" content " : " # commit \n\n Writes a conventional commit message. " ,
" path " : " /home/user/.hoody/project/skills/commit/SKILL.md "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . getSkillSource ({ root_dir : " project " , rel_dir : " skills/commit " })
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/source?root_dir=project&rel_dir=skills%2Fcommit "
Overwrites a skill’s source body (skills.write_source). Identify the skill by root_dir + rel_dir in the body (aliases root / rel accepted); the new body text is content (alias source); pass the read’s gen as base_gen for conflict detection.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description root_dirstring Yes Skill root directory (identity; alias: root). rel_dirstring Yes Skill relative directory (identity; alias: rel). contentstring Yes New SKILL.md body (alias: source). base_geninteger No The gen returned by skills.read_source, for conflict detection.
" path " : " /home/user/.hoody/project/skills/commit/SKILL.md "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . putSkillSource ({
rel_dir : " skills/commit " ,
content : " # commit \n\n Writes a conventional commit message. " ,
curl -X PUT " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/source " \
-H " Content-Type: application/json " \
"rel_dir": "skills/commit",
"content": "# commit\n\nWrites a conventional commit message.",
Scans well-known locations for importable skills (skills.import_scan).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" path " : " /opt/shared/skills/release-notes " ,
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . scanSkillImport ()
curl " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/import/scan "
Imports a discovered skill into the local store (skills.import_apply).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
The body is forwarded to the daemon skills.import_apply RPC. Identify the discovered skill to import (e.g. by its scan path/id returned from scanSkillImport). Reserved _-prefixed keys are ignored and the request scope (cwd/config_dir) is applied automatically.
" imported " : " release-notes " ,
" path " : " /home/user/.hoody/project/skills/release-notes "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . applySkillImport ({ path : " /opt/shared/skills/release-notes " })
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/import/apply " \
-H " Content-Type: application/json " \
-d ' { "path": "/opt/shared/skills/release-notes" } '
Creates a new local skill (skills.create).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description namestring Yes Skill name (the SKILL.md directory stem). descriptionstring No Skill description (frontmatter). contentstring No Initial SKILL.md body.
" path " : " /home/user/.hoody/project/skills/review/SKILL.md "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . createSkill ({
description : " Generates a code review summary " ,
content : " # review \n\n Generates a code review summary. "
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills " \
-H " Content-Type: application/json " \
"description": "Generates a code review summary",
"content": "# review\n\nGenerates a code review summary."
Deletes a skill (skills.delete). Identify the skill by root_dir + rel_dir in the body (aliases root / rel accepted).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description root_dirstring Yes Skill root directory (identity; alias: root). rel_dirstring Yes Skill relative directory (identity; alias: rel).
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . deleteSkill ({ root_dir : " project " , rel_dir : " skills/review " })
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/delete " \
-H " Content-Type: application/json " \
-d ' { "root_dir": "project", "rel_dir": "skills/review" } '
Renames a skill (skills.rename). Identify the skill by root_dir + rel_dir (aliases root / rel accepted) and pass the new name as new_name.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description root_dirstring Yes Skill root directory (identity; alias: root). rel_dirstring Yes Skill relative directory (identity; alias: rel). new_namestring Yes New skill directory name.
" new_name " : " code-review "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . renameSkill ({
rel_dir : " skills/review " ,
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/rename " \
-H " Content-Type: application/json " \
-d ' { "root_dir": "project", "rel_dir": "skills/review", "new_name": "code-review" } '
Toggles a skill’s enabled state (skills.toggle — NAME-scoped: it gates the effective skill name in the runtime registry). Identify the skill by name in the body, and pass disabled (boolean) for the new state.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description namestring Yes Effective skill name (NOT root/rel — toggle is name-scoped). disabledboolean No true to disable the skill, false to enable it.
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . toggleSkill ({ name : " commit " , disabled : true })
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/toggle " \
-H " Content-Type: application/json " \
-d ' { "name": "commit", "disabled": true } '
Sets a skill’s trust state (skills.set_trust). Identify the skill by root_dir + rel_dir (aliases root / rel accepted); the trust flag is trusted (boolean). Trust gates arbitrary code execution.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description root_dirstring Yes Skill root directory (identity; alias: root). rel_dirstring Yes Skill relative directory (identity; alias: rel). trustedboolean Yes true to grant execution trust, false to revoke.
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . trustSkill ({
rel_dir : " skills/commit " ,
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/trust " \
-H " Content-Type: application/json " \
-d ' { "root_dir": "project", "rel_dir": "skills/commit", "trusted": true } '
Installs a skill from the hub (skills.hub_install) — this writes arbitrary skill code to disk.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
Name Type Required Description idstring Yes Hub skill identifier (from searchSkillHub / previewSkillHub).
" installed " : " commit-format " ,
" path " : " /home/user/.hoody/project/skills/commit-format " ,
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (MaxBodyBytes). The gateway rejects an oversized body at the edge before the handler reads it. Reduce the request body below the configured limit (default 8 MiB); split a large payload into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . installSkillHub ({ id : " hub/commit-format " })
curl -X POST " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/hub/install " \
-H " Content-Type: application/json " \
-d ' { "id": "hub/commit-format" } '
Clears the skill-hub fetch cache, including pins (skills.cache_clear).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: "global" or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC, which has no realm dimension to scope. Omit the realm header on this route, or open a session to scope by realm.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy (e.g. hoody agent … → platform → proxy), not by connecting to the container directly.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded; the gateway throttled the request before dispatch. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . skills . clearSkillHubCache ()
curl -X DELETE " https://5f3a9b2e8d1c4e7f0a2b6d8c-4c1d8e9f3a5b7c2e1d8f6a4b-agent-1.us-east-1.containers.hoody.icu/api/v1/agent/skills/hub/cache "