AgentStack
SKILL verified MIT Self-run

One Manage Documents

skill-onehorizonai-skills-one-manage-documents · by onehorizonai

Create, read, update, and delete standalone workspace documents in One Horizon. Use when asked to "create a spec", "write a requirement doc", "find all documents", "update this document", "delete this doc", or "show document content". For initiative description edits, use patch-document through one-task-management instead. Requires One Horizon MCP.

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-onehorizonai-skills-one-manage-documents

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of One Manage Documents? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Manage Documents

Create and manage standalone workspace documents. Initiative descriptions use a separate patch path.

Do not use this skill for initiative description edits. Use patch-document with taskId via one-task-management for that. This skill manages documents by documentId.

Document model

Types: Requirement for specs, requirements, and design docs | Task for task-scoped documents

Statuses: Draft (default) | Completed

Tool selection

| Goal | Tool | |---|---| | Create a new document | create-document | | Fetch a document by ID | get-document | | Replace document fields (title, content, status) | update-document | | Targeted text patch by document ID | patch-document | | Search or filter document metadata | find-documents | | Delete a document | delete-document |

update-document replaces whole fields by documentId. It is not for initiative descriptions; use patch-document with taskId for those.

Rules

  • If workspaceId is unknown or the user has multiple workspaces, call list-workspaces first.
  • find-documents is a discovery/list tool. It returns document metadata plus excerpt, not full content.
  • Use find-documents for IDs, titles, statuses, task links, and excerpts. Use get-document with the selected documentId whenever full document content is needed.
  • get-document, update-document, and delete-document all require documentId. Call find-documents first if you only have a title or filter criteria, then call get-document before reading or summarizing the full body.
  • Use patch-document with documentId for targeted edits to standalone documents when replacing the whole content field would be unnecessarily broad.
  • Do not use update-document for initiative description edits. Use patch-document with taskId instead.
  • Do not call delete-document without explicit user confirmation; deletion is not reversible.

Create a document

create-document({
  "workspaceId": "",
  "title": "Auth Flow Requirements",
  "content": "## Overview\n\nFull markdown content here.",
  "type": "Requirement",
  "status": "Draft"
})

type is required. Allowed values: Requirement, Task.

Get a document

get-document({
  "workspaceId": "",
  "documentId": ""
})

Update a document

Replaces the provided fields. Omit fields that should stay unchanged.

update-document({
  "workspaceId": "",
  "documentId": "",
  "title": "Updated title",
  "status": "Completed"
})

Patch a document

Use for targeted standalone document edits by documentId.

patch-document({
  "workspaceId": "",
  "documentId": "",
  "ops": [
    {
      "kind": "replace_text",
      "target": "Old wording",
      "replacement": "New wording"
    }
  ]
})

Find documents

Filter by type, status, task link, or creator. The result is metadata plus excerpt only:

find-documents({
  "workspaceId": "",
  "types": ["Requirement"],
  "statuses": ["Draft"],
  "taskId": "",
  "limit": 20
})

Use query for name/title search:

find-documents({
  "workspaceId": "",
  "query": "auth spec"
})

If the user needs the document body after choosing a result, call:

get-document({
  "workspaceId": "",
  "documentId": ""
})

Delete a document

Only call after the user has explicitly confirmed.

delete-document({
  "workspaceId": "",
  "documentId": ""
})

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.