Synthèse automatique
Cette skill permet à l'assistant de gérer les tâches, projets, statuts et pièces jointes d'un espace de travail ManageMe via l'API OpenClaw.
Points forts
- Documente précisément chaque endpoint (santé, projets, tâches, ressources) avec les en-têtes et paramètres requis
- Inclut des garde-fous clairs : restrictions aux routes /api/oc/*, non-divulgation des secrets et interdiction des placeholders shell
- Couvre plusieurs modes de mise à jour des tâches (complétion, changement de statut, mise à jour compatible) et l'upload de fichiers en multipart pour les gros fichiers
Limites
- Suppose que les variables d'environnement MANAGEME_API_URL, MANAGEME_OPENCLAW_SECRET et MANAGEME_WORKSPACE_ID sont déjà configurées
- Ne décrit pas la gestion des erreurs, des limites de débit ou des échecs d'authentification
- Dépend entièrement de la disponibilité de l'API OpenClaw de ManageMe
À utiliser lorsqu'un utilisateur demande de créer, lister, terminer, mettre à jour ou joindre un fichier à une tâche ou un projet ManageMe depuis un canal OpenClaw.
Ne pas utiliser pour des opérations sur l'interface web, l'authentification ou d'autres routes hors de l'API OpenClaw de ManageMe.
Analyse de sécurité
SûrThe 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
Exemples
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.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/manageme-skill-mrwakfir/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
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. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/manageme-skill-mrwakfir'openskills read 'manageme-skill-mrwakfir'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/manageme-skill-mrwakfir/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Lecteur PDF
Productivite
Lit et extrait le texte de fichiers PDF (rapports, contrats, tableurs). Gère les fichiers locaux, les URL et les pièces jointes WhatsApp. Utilisez-le dès qu'un contenu PDF est nécessaire, même sans demande explicite.
Workflows de messagerie Discord
Productivite
Utilisez l'outil message pour envoyer, modifier et modérer des messages Discord avec des composants interactifs.
Aperçu interactif des verdicts
Productivite
Générer un aperçu HTML interactif des verdicts (garder/supprimer) pour la revue par le mainteneur, puis traiter le JSON de retour.