Automated summary
This skill lets the assistant manage tasks, projects, statuses, and attachments in a ManageMe workspace through the OpenClaw API.
Strengths
- Documents each endpoint (health, projects, tasks, resources) precisely with required headers and parameters
- Includes clear guardrails: restrict calls to /api/oc/* routes, never expose secrets, and forbid shell placeholders
- Covers multiple task update modes (complete, status change, compatibility update) and multipart uploads for large files
Limitations
- Assumes MANAGEME_API_URL, MANAGEME_OPENCLAW_SECRET, and MANAGEME_WORKSPACE_ID environment variables are already configured
- Does not describe error handling, rate limits, or authentication failures
- Fully dependent on the availability of ManageMe's OpenClaw API
Use when a user asks to create, list, complete, update, or attach files to ManageMe tasks or projects from an OpenClaw channel.
Do not use for operations on the web UI, authentication routes, or any routes outside ManageMe's OpenClaw API.
Security analysis
SafeThe skill is a straightforward REST API integration guide for a task manager. It explicitly restricts calls to /api/oc/* routes, forbids touching auth/UI/browser routes, sources credentials from environment variables, and warns against leaking secrets or using shell placeholders for base64 data. The only execution surface is a handful of curl/PowerShell upload examples, which are purposeful and non-destructive; there is no obfuscation, exfiltration to third parties, or destructive command.
- •Uses curl with a secret header for file uploads, but only against the documented MANAGEME_API_URL /api/oc/* endpoints
- •References secrets via environment variables rather than hardcoding them, and explicitly instructs never to expose secrets, headers, or stack traces
- •Includes a PowerShell example that writes a payload file to disk; scoped to a project-local path but still writes files
Examples
Create a ManageMe task titled 'Review Q3 report' with high priority due 2025-08-01 in the Marketing project.List all my ManageMe tasks that are due within the next 24 hours.Upload ./recording.m4a as an attachment to task abc123 in ManageMe.name: manageme description: ManageMe assistant skill for workspace tasks, projects, statuses, and attachments through the OpenClaw API.
ManageMe Skill
Use this skill when the user asks to create, list, complete, update, or attach resources to ManageMe tasks or projects from an OpenClaw channel.
Runtime Configuration
Required environment variables:
MANAGEME_API_URLexample:http://localhost:3000MANAGEME_OPENCLAW_SECRETMANAGEME_WORKSPACE_ID
Every request must include:
- Header:
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET} - Query:
?w={MANAGEME_WORKSPACE_ID}
Rules
- Only call
MANAGEME_API_URL + /api/oc/*endpoints. - Do not call browser routes, auth routes, workspace UI routes, or non-OpenClaw API routes.
- Keep user replies concise and operational.
- Never expose secrets, raw headers, stack traces, or internal payload dumps.
- If a file is provided, upload it through
/api/oc/resourcebefore confirming. - Always include
?w={MANAGEME_WORKSPACE_ID}on every OpenClaw API call. - For large files, prefer
multipart/form-datato avoid shell argument size limits. - Never send shell placeholders in JSON (example:
"base64Data": "$(cat file.txt)");base64Datamust contain the actual base64 string.
Endpoints
Health
GET {MANAGEME_API_URL}/api/oc/ping?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
List Projects
GET {MANAGEME_API_URL}/api/oc/projects?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Create Project
POST {MANAGEME_API_URL}/api/oc/project?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Content-Type: application/json
{ "name": "Project name" }
Create Task
POST {MANAGEME_API_URL}/api/oc/task?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Content-Type: application/json
{
"title": "Task title",
"description": "Optional notes",
"dueDate": "ISO-8601 date string",
"priority": "low|medium|high",
"projectId": "optional project id",
"assigneeId": "optional member id",
"sourceChannel": "discord|telegram|slack|whatsapp|openclaw"
}
Use name as a fallback alias for title only when needed. If neither is present, ask for the task title.
List Tasks
GET {MANAGEME_API_URL}/api/oc/tasks?w={MANAGEME_WORKSPACE_ID}&status=all
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Optional query parameters:
status=todo|in_progress|done|allprojectId=<id>dueWithin=<Nh>example:24h
Complete Task
PATCH {MANAGEME_API_URL}/api/oc/task/{taskId}/complete?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Update Task Status
PATCH {MANAGEME_API_URL}/api/oc/task/{taskId}/status?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Content-Type: application/json
{ "status": "todo|in_progress|done" }
Update Task (Compatibility)
Use this when your client updates task fields via PATCH /task instead of path params.
PATCH {MANAGEME_API_URL}/api/oc/task?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Content-Type: application/json
{
"taskId": "task_id_here",
"description": "Updated notes",
"status": "todo|in_progress|done"
}
Accepted task id aliases: taskId, task_id, id
Upload Resource
Recommended for large files (multipart):
curl -X POST "{MANAGEME_API_URL}/api/oc/resource?w={MANAGEME_WORKSPACE_ID}" \
-H "x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}" \
-F "file=@./recording.m4a" \
-F "taskId=task_id_here" \
-F "transcription=Optional transcript"
JSON base64 payload:
POST {MANAGEME_API_URL}/api/oc/resource?w={MANAGEME_WORKSPACE_ID}
x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}
Content-Type: application/json
{
"fileName": "document.pdf",
"mimeType": "application/pdf",
"base64Data": "base64 string or data URL",
"taskId": "optional task id",
"transcription": "optional extracted text"
}
Safe JSON workflow (no shell expansion at request time):
# Linux/macOS
base64 -w 0 ./document.pdf > ./document.b64.txt
cat > ./payload.json << 'JSON'
{
"fileName": "document.pdf",
"mimeType": "application/pdf",
"base64Data": "REPLACE_WITH_REAL_BASE64_CONTENT",
"taskId": "task_id_here"
}
JSON
# Windows PowerShell
$b64 = [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:/path/document.pdf"))
$payload = @{
fileName = "document.pdf"
mimeType = "application/pdf"
base64Data = $b64
taskId = "task_id_here"
}
$payload | ConvertTo-Json -Compress | Set-Content -Path "payload.json" -Encoding utf8
curl.exe -X POST "{MANAGEME_API_URL}/api/oc/resource?w={MANAGEME_WORKSPACE_ID}" -H "x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}" -H "Content-Type: application/json" --data-binary "@payload.json"
Raw file bytes (--data-binary) with metadata headers:
curl -X POST "{MANAGEME_API_URL}/api/oc/resource?w={MANAGEME_WORKSPACE_ID}" \
-H "x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}" \
-H "Content-Type: application/octet-stream" \
-H "x-file-name: document.pdf" \
-H "x-mime-type: application/pdf" \
-H "x-task-id: task_id_here" \
--data-binary @./document.pdf
Raw base64 text body is also accepted:
curl -X POST "{MANAGEME_API_URL}/api/oc/resource?w={MANAGEME_WORKSPACE_ID}" \
-H "x-openclaw-secret: {MANAGEME_OPENCLAW_SECRET}" \
-H "Content-Type: text/plain" \
-H "x-file-name: document.pdf" \
-H "x-mime-type: application/pdf" \
--data-binary @./file.base64.txt
Accepted aliases (server normalizes these automatically):
- File name:
fileName,filename,file_name,name - MIME type:
mimeType,mime_type,contentType - File bytes (base64):
base64Data,base64,data,fileData - Task link:
taskId,task_id,task - Transcript text:
transcription,transcript,text
Upload constraints and behavior:
- Max file size: 15 MB (returns
413above limit) - Supported content types:
application/json,multipart/form-data,text/plain(base64),application/octet-stream(raw file bytes) mimeTypecan be omitted; server infers type from file extension- Base64 may be raw, data URL, URL-safe, and with/without padding
- JSON/base64 parsing tolerates escaped newlines like
\\nand\\r\\n - Unknown file types are stored as
application/octet-stream
Transport selection guide:
- Prefer
multipart/form-datawhen available. - Use
application/octet-streamwhen you can send raw file bytes with--data-binary @file.ext. - Use
application/jsononly when the tool must send structured JSON.
File preview behavior in ManageMe UI:
- Inline preview: images, PDF, audio, video, and text-like files
- Non-previewable formats: show open/download links
- Supported examples:
png,jpg,jpeg,webp,gif,svg,pdf,txt,md,json,csv,mp3,wav,ogg,m4a,mp4,mov,webm,doc,docx,xls,xlsx,ppt,pptx,zip,rar,7z
Manual web fallback (if channel upload fails):
- Open the task details page in ManageMe web UI.
- Use the
Attachmentsplus button (Add File) to upload manually. - Confirm the file appears with
OpenandDownloadactions and preview where supported.
Canonical upload payload to prefer:
{
"fileName": "voice-note.m4a",
"base64Data": "data:audio/mp4;base64,AAA...",
"taskId": "task_id_here",
"transcription": "Optional transcript"
}
The API response includes:
{
"success": true,
"fileId": "...",
"fileName": "...",
"mimeType": "...",
"attachedToTask": "task_id_or_null"
}
Task Resolution
When the user refers to a task by name:
- Fetch candidate tasks with
/api/oc/tasks. - Prefer exact title matches, then close fuzzy matches.
- If one match is clear, perform the action.
- If multiple matches are plausible, ask the user to choose.
Error Messages
401:Your ManageMe connection needs re-authorizing. Please check your settings.404:That workspace or item was not found. Please check your ManageMe configuration.413:That file is too large for upload.- Other:
Something went wrong reaching ManageMe. Try again in a moment.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/manageme-skill-mrwakfir/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/manageme-skill-mrwakfir' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/manageme-skill-mrwakfir/download' --output '.skill-downloads/manageme-skill-mrwakfir/SKILL.md.part' && mv '.skill-downloads/manageme-skill-mrwakfir/SKILL.md.part' '.skill-downloads/manageme-skill-mrwakfir/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && test -s '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/manageme' && cp -R '.skill-downloads/manageme-skill-mrwakfir' '.claude/skills/manageme'Cursor
test -f '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && test -s '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/manageme' && cp -R '.skill-downloads/manageme-skill-mrwakfir' '.cursor/skills/manageme'Codex
test -f '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && test -s '.skill-downloads/manageme-skill-mrwakfir/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/manageme' && cp -R '.skill-downloads/manageme-skill-mrwakfir' '.agents/skills/manageme'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/manageme-skill-mrwakfir'openskills read 'manageme-skill-mrwakfir'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/manageme-skill-mrwakfir/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.