Manus research
Delegate user stories, requirements gathering, and discovery research to a Manus.im agent and import the resulting markdown so Claude Code can use it as input for implementation. Use when the user wants to (a) generate user stories with acceptance criteria, (b) gather functional/non-functional requirements for a feature, (c) produce a discovery brief, comparative analysis, or state-of-the-art before coding. Triggers include "user stories", "historias de usuario", "requisitos", "requirements", "levanta requisitos", "stories", "pesquisa", "research", "ask manus", "/manus-research".From its SKILL.md
npx -y skills add iaklopes/manus-research-plugin --skill manus-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.7 KB, as published. Nobody here has run it
Manus Research
Delegate user story creation, requirements gathering, and discovery research to a Manus.im agent. The agent produces a markdown document; this skill imports it into the project so Claude Code can implement against it.
The primary use case: the user describes a feature, Manus produces structured stories/requirements, Claude Code reads them and writes the code.
When to use
- User asks for user stories for a feature ("user stories para checkout com cupons")
- User asks to gather requirements (functional and non-functional) for a feature
- User asks for a discovery brief before implementation ("levanta requisitos para chat em tempo real")
- User wants a comparative analysis or state of the art as input to a plan
- User explicitly mentions Manus / manus.im /
/manus-research
When NOT to use
- For local code questions, refactors, or debugging — use Claude directly.
- When the user already has the markdown — read it and implement against it directly.
- For real-time facts the Manus agent cannot fetch — use WebSearch / WebFetch.
Prerequisites (one-time setup)
- Get a Manus API key: https://manus.im/app?show_settings=integrations&app_name=api → "Create API Key"
- Store it locally:
Or exportmkdir -p ~/.credentials/manus && chmod 700 ~/.credentials/manus echo "<KEY>" > ~/.credentials/manus/api-key && chmod 600 ~/.credentials/manus/api-keyMANUS_API_KEYin your shell. - Required CLI tools:
curl,jq(install with your package manager).
Workflow
- Refine the prompt with the user. A good Manus prompt for stories/requirements is specific:
- Feature scope (what is in / out of scope)
- Personas / actors (who uses it)
- Required output sections (e.g. "1. Stories, 2. Acceptance criteria, 3. Non-functional, 4. Edge cases, 5. Open questions")
- Format — suggest INVEST + Given/When/Then if appropriate, but let the user decide (some prefer narrative, MoSCoW, job stories, etc.)
- Constraints ("PT-BR", "max 1500 words", "cite sources where possible")
- Confirm the output path with the user. Default:
docs/research/<slug>.mdin the current working directory. - Run the orchestrator script (it handles: create task → poll → save markdown):
The script prints progress to stderr and the final path to stdout.${CLAUDE_PLUGIN_ROOT}/scripts/manus_research.sh "<prompt>" [output_path] - Read the saved file with the Read tool and summarise key findings to the user (3-5 bullets covering: stories produced, biggest unknowns, risks, dependencies).
- Offer next step: ask if they want you to implement (start coding) or to enter plan mode first.
Output convention
The saved file has YAML frontmatter for traceability:
---
source: manus.im
task_id: <id>
task_url: https://manus.im/app/<id>
title: <task title from manus>
generated_at: <UTC ISO timestamp>
prompt: |
<original prompt>
---
<agent markdown content>
This frontmatter lets you re-open the live Manus session if the user wants to ask follow-ups.
Suggested formats (offer to user, do not impose)
When the user is unsure how to structure stories/requirements, offer one of these formats. Do not force a format if they want something else.
A) Classic user story + acceptance criteria (INVEST + Given/When/Then)
## Story 1 — Login com Google
**Como** um visitante
**Quero** entrar com a minha conta Google
**Para** evitar criar mais uma password
### Acceptance criteria
- **Given** estou na pagina de login
**When** clico em "Entrar com Google" e autorizo
**Then** sou redirecionado para o dashboard com sessao iniciada
- **Given** estou na pagina de login
**When** cancelo a autorizacao Google
**Then** volto a pagina de login com mensagem "login cancelado"
### Edge cases
- Email Google ja existe com password local: ofereco merge de contas
- Token Google expirado: refresh automatico ou redirect para re-auth
B) Job story (jobs-to-be-done)
**When** I land on the product page after a marketing campaign,
**I want to** add the item to cart in one click without creating an account,
**So I can** check out fast while the intent is high.
C) Requirements list (MoSCoW)
## Functional
- **Must**: ...
- **Should**: ...
- **Could**: ...
- **Won't (this iteration)**: ...
## Non-functional
- Performance: ...
- Security: ...
- Accessibility: ...
Tips for good prompts
- Be specific about scope: "user stories para checkout com cupons e split de pagamento" beats "stories para checkout".
- Name the personas: anonymous visitor, registered user, admin, etc.
- Ask for structure: tell Manus the section headings you want.
- Set expectations: "no fluff, max 1500 words, list edge cases explicitly".
- Iterate: if the first output is shallow, ask the user to confirm scope refinement and re-run with a sharper prompt.
Cost
Each task consumes Manus credits (typically 1-10+ depending on depth). Free tier provides ~1000 credits + 300/day. Long research tasks (deep web browsing) consume more.
Errors
MANUS_API_KEY not set— set the env var or create~/.credentials/manus/api-key.task ended with error— surface the JSON error to the user; ask if they want to retry with a refined prompt.task stuck in 'waiting' for Ns— the agent paused waiting for input for more thanMANUS_WAITING_GRACE_SECseconds (default 60s). Briefwaitingis transient and tolerated; only persistent waiting aborts. Share the livetask_urlso the user can answer in the Manus UI.timeout— the task is still running after 15min. The user can extend withMANUS_TIMEOUT_SEC=1800, or check the live URL.permission_denied— wrong or revoked API key; ask the user to regenerate at https://manus.im/app?show_settings=integrations&app_name=api
Security
- Never commit
~/.credentials/manus/api-key. - Never echo the API key to the conversation or any file inside the project.
- The orchestrator script reads the key only from env or the credentials file.