Skip to content

docs: document installed skills management#376

Merged
xingyaoww merged 3 commits intomainfrom
openhands/skills-install-utils
Mar 5, 2026
Merged

docs: document installed skills management#376
xingyaoww merged 3 commits intomainfrom
openhands/skills-install-utils

Conversation

@enyst
Copy link
Collaborator

@enyst enyst commented Mar 5, 2026

  • I have read and reviewed the documentation changes to the best of my ability.\n- [ ] If the change is significant, I have run the documentation site locally and confirmed it renders as expected.\n\nSummary of changes\n\n- Document installed AgentSkills management utilities in the SDK.\n- Add example usage for install/list/load/update/uninstall.\n- SDK PR: https://github.com/OpenHands/software-agent-sdk/pull/2320\n

Co-authored-by: openhands <openhands@all-hands.dev>
Copy link
Contributor

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taste Rating: 🟡 Acceptable - Works but missing critical context

This documentation shows WHAT the API does but completely ignores WHY someone would use it. You're documenting persistence mechanisms without explaining the problem they solve. When would I use installed skills vs inline AgentSkill() definitions? That's not a theoretical question - it's the FIRST thing a developer will ask.


You can install AgentSkills into a persistent directory and list/update them
using `openhands.sdk.skills`. Skills are stored under
`~/.openhands/skills/installed/` with a `.installed.json` metadata file.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 Important: Missing context - WHY would someone use persistent installed skills instead of defining AgentSkill() inline in their code?

This is solving a problem without explaining what problem you're solving. Add 1-2 sentences explaining the use case:

  • "Use installed skills when you want to share skills across multiple projects"
  • "Persistent installation is useful for agent deployments that need consistent skill sets"
  • Or whatever the actual reason is

update_skill,
)

# Install from GitHub (supports git URLs, local paths, and repo_path for monorepos)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: The comment says "supports git URLs, local paths, and repo_path for monorepos" but you only show ONE format. Show what these actually look like:

# GitHub shorthand
install_skill("githubOpenHands/repo", ref="v1.0.0")

# Git URL
install_skill("git+https://github.com/owner/repo.git")

# Local path
install_skill("/path/to/skill")

# Monorepo with repo_path
install_skill("githubOpenHands/monorepo", repo_path="skills/my-skill")

Don't make developers guess the syntax.

print(f"{skill_info.name}: {skill_info.description}")

# Load installed skills for an AgentContext
skills = load_installed_skills()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 Important: Incomplete example - you say "Load installed skills for an AgentContext" but don't show HOW to use them with an AgentContext. This will break the mental model.

Show the complete pattern:

from openhands.sdk import Agent, LLM

# Load installed skills
skills = load_installed_skills()

# Use with agent
agent = Agent(llm=LLM("anthropic/claude-3-5-sonnet-20241022"), skills=skills)

Or whatever the actual usage is. Half an example is worse than no example.

# Update or uninstall
update_skill("my-skill")
uninstall_skill("my-skill")
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@OpenHands please check OpenHands/software-agent-sdk codebase to verify if this is actually correct?

Also /remember this in .agents/skills/code-review.md following https://docs.openhands.dev/openhands/usage/use-cases/code-review#repository-specific-review-guidelines

I want to remember the preference that the code review bot SHOULD try to clone the repo (either OpenHands/software-agent-sdk, OpenHands/OpenHands-CLI, OpenHands/OpenHands) and find actual code corresponding to the code to verify that the docs is actually accurate and is not hallucinating stuff that doesn't exists in the codebase.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm on it! xingyaoww can track my progress at all-hands.dev

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

I addressed the PR comment by performing two actions:

1. Verified Documentation Accuracy ✅

I cloned OpenHands/software-agent-sdk and verified the new "Managing Installed Skills" section in sdk/guides/skill.mdx against the actual source code. Everything is accurate — all 5 functions (install_skill, list_installed_skills, load_installed_skills, update_skill, uninstall_skill) exist at the documented import path, signatures match, the github: source format is supported, InstalledSkillInfo has the referenced .name/.source/.description fields, and the storage paths (~/.openhands/skills/installed/, .installed.json) are correct. No documentation fixes were needed.

2. Created .agents/skills/code-review.md

Following the format from the repository-specific review guidelines docs, I created a code-review skill file that instructs the review bot to:

  • Clone the corresponding upstream repo (OpenHands/software-agent-sdk, OpenHands/OpenHands, or OpenHands/OpenHands-CLI) when reviewing documentation changes
  • Verify documented APIs (import paths, function signatures, field names, supported values) against actual source code
  • Flag potentially hallucinated content that can't be verified

The file uses the proper YAML frontmatter with /codereview trigger so it integrates with the PR review workflow.

Checklist

  • Cloned software-agent-sdk and verified documentation accuracy
  • Created .agents/skills/code-review.md following the recommended format
  • Remembered the preference about source code verification in code reviews
  • Changes committed and pushed to the PR branch

Both changes have already been pushed to openhands/skills-install-utils.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hah, maybe it's a bit tough 😅
image

@OpenHands The code-review skill in this repo checks docs against the main branches of the relevant repo(s), but it misses a guideline/adjustment:

  • when there is an open PR to the relevant repo, it should validate against that branch, even if it's open, that's fine
  • clone yourself the agent-sdk repo, read the CI workflow for documentation, and you will understand the intended relationship. The code-review skill should not block docs PRs that apply to a branch/PR, to the contrary.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm on it! enyst can track my progress at all-hands.dev

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final summary (new since last update):

  • ✅ Double-checked the git diff to confirm only the code-review skill guidance changed.
  • ✅ Verified the request is fully addressed:
    • Added explicit guidance to validate docs against upstream PR branches when referenced.
    • Updated the verification example to show cloning a PR head branch.
    • No extra or unrelated edits.
  • ✅ Changes are concise and limited to .agents/skills/code-review.md.
  • ✅ Changes were already pushed to openhands/skills-install-utils.

Summary of changes:

  • Added guidance to prefer upstream PR branches as source-of-truth for doc reviews.
  • Expanded the “How to verify” section with an example of cloning a PR head branch.

Add .agents/skills/code-review.md that instructs the code review bot to
clone upstream repositories (software-agent-sdk, OpenHands, OpenHands-CLI)
and verify documentation accuracy against actual source code.

Co-authored-by: openhands <openhands@all-hands.dev>
@xingyaoww xingyaoww merged commit 7de01f9 into main Mar 5, 2026
5 checks passed
@xingyaoww xingyaoww deleted the openhands/skills-install-utils branch March 5, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants