Skip to content

docs: Document workspace sandboxing, self-improving skills, and expanded bot default tools#234

Open
MervinPraison wants to merge 1 commit intomainfrom
claude/issue-232-20260422-1654
Open

docs: Document workspace sandboxing, self-improving skills, and expanded bot default tools#234
MervinPraison wants to merge 1 commit intomainfrom
claude/issue-232-20260422-1654

Conversation

@MervinPraison
Copy link
Copy Markdown
Owner

Fixes #232

This PR implements comprehensive documentation for the major features introduced in PraisonAI PR #1503:

  • Workspace sandboxing for secure agent file operations
  • Self-improving skills with runtime creation/editing
  • 20+ auto-injected bot tools and smart filtering
  • Todo planning tools for multi-step task management
  • File editing tools with fuzzy find-and-replace

All documentation follows AGENTS.md standards with agent-centric examples, Mermaid diagrams, and Mintlify components.

Generated with Claude Code

…ded bot default tools (fixes #232)

- Add comprehensive documentation for workspace sandboxing with security by construction
- Document self-improving skill management with runtime creation/editing capabilities
- Cover 20+ auto-injected bot default tools and smart filtering
- Add todo planning tools for multi-step task management
- Document file editing tools with fuzzy find-and-replace
- Update existing skills.mdx with runtime skill management section
- All pages follow AGENTS.md standards with agent-centric examples and Mermaid diagrams

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 22, 2026 17:01
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

Warning

Rate limit exceeded

@MervinPraison has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 42 minutes and 41 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 42 minutes and 41 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d32c7bd5-2b69-46cd-aab4-427ab441a1aa

📥 Commits

Reviewing files that changed from the base of the PR and between b3c60ee and 8f4a88c.

📒 Files selected for processing (7)
  • docs.json
  • docs/features/bot-default-tools.mdx
  • docs/features/file-editing.mdx
  • docs/features/skill-manage.mdx
  • docs/features/skills.mdx
  • docs/features/todo-planning.mdx
  • docs/features/workspace.mdx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/issue-232-20260422-1654

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces documentation for several new features, including workspace sandboxing, bot default tools, file editing, todo planning, and runtime skill management. Feedback highlights a spelling inconsistency in the skill management guide, missing methods in the documented SkillManager API, and a type mismatch for todo IDs in the planning examples.

tools=["skill_manage", "skills_list", "skill_view"] # auto-injected in bots
)

agent.start("Create a skill called 'weekly-summary' that summarises the week's work.")
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The documentation uses British spelling ("summarises") here, but American spelling ("summarize") is used consistently throughout the rest of the documentation (e.g., lines 156, 159, 178). It is recommended to use American spelling for consistency.

agent.start("Create a skill called 'weekly-summary' that summarizes the week's work.")

Comment on lines +113 to +126
result = mgr.create_skill("weekly-summary", "# Weekly Summary\nSteps...", category="reporting")

# Edit existing skills
result = mgr.edit_skill("weekly-summary", "# Weekly Summary v2\n...")

# Apply targeted patches
result = mgr.patch_skill("weekly-summary", old_string="v2", new_string="v3")

# Manage skill files
result = mgr.write_skill_file("weekly-summary", "scripts/report.py", "print('Weekly report')")
result = mgr.remove_skill_file("weekly-summary", "scripts/report.py")

# Delete skills
result = mgr.delete_skill("weekly-summary")
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Python API examples for SkillManager refer to several methods that are not present in the implementation provided in praisonaiagents/skills/manager.py. Specifically, create_skill, edit_skill, patch_skill, write_skill_file, remove_skill_file, and delete_skill are missing from the class definition. This will cause runtime errors for users attempting to use these methods.

Comment on lines +109 to +111
todo_update(1, status="pending") # Default state
todo_update(2, status="completed") # Task finished
todo_update(3, status="cancelled") # Task abandoned
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The examples use integers (e.g., 1, 2, 3) as todo_id values. However, the TodoItem class in praisonaiagents/planning/todo.py (line 43) defines the id as a string (a truncated UUID). The documentation should be updated to use string IDs to match the implementation.

todo_update("1", status="pending")     # Default state
todo_update("2", status="completed")   # Task finished
todo_update("3", status="cancelled")   # Task abandoned

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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.

docs: Document workspace sandboxing, self-improving skills, and expanded bot default tools (PraisonAI PR #1503)

2 participants