Run any Skill in Manus
with one click
with one click
Run any Skill in Manus with one click
Get Started$pwd:
$ git log --oneline --stat
stars:0
forks:0
updated:February 12, 2026 at 18:16
SKILL.md
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | docs |
| description | Generate and update project documentation. |
Generate and update project documentation.
/docs [target] [--type <type>] [--update]
target: Specific file, module, or "all" (default: changed files)--type: Documentation type (api, readme, changelog, jsdoc, docstring)--update: Update existing docs instead of regeneratingWhen this skill is invoked:
Autonomy:
Quality:
Analyze target:
Detect documentation style from existing docs:
Generate documentation based on type
--type api)Generate OpenAPI/Swagger or API reference:
## Endpoints
### POST /api/users
Create a new user.
**Request Body:**
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| email | string | Yes | User email address |
| name | string | Yes | Display name |
**Response:**
- `201`: User created successfully
- `400`: Validation error
- `409`: Email already exists
**Example:**
```json
{
"email": "user@example.com",
"name": "John Doe"
}
#### README Updates (`--type readme`)
Update project README with:
- Installation instructions
- Usage examples
- Configuration options
- API overview
#### Changelog (`--type changelog`)
Generate changelog entry from commits:
```markdown
## [1.2.0] - 2026-01-17
### Added
- User authentication with JWT tokens (#123)
- Password reset functionality (#124)
### Changed
- Improved error messages for validation failures
### Fixed
- Race condition in session management (#125)
--type docstring or --type jsdoc)Python (Google-style):
def get_user(user_id: str) -> User | None:
"""Retrieve a user by their unique identifier.
Args:
user_id: The unique identifier of the user.
Returns:
The User object if found, None otherwise.
Raises:
DatabaseError: If the database connection fails.
Example:
>>> user = get_user("abc123")
>>> print(user.name)
"John Doe"
"""
TypeScript (JSDoc):
/**
* Retrieve a user by their unique identifier.
*
* @param userId - The unique identifier of the user
* @returns The User object if found, null otherwise
* @throws {DatabaseError} If the database connection fails
*
* @example
* const user = await getUser("abc123");
* console.log(user.name); // "John Doe"
*/
When no type specified, detect from context:
.py files → docstrings.ts/.js files → JSDocREADME.md → readmeCHANGELOG.md → changelogapi/ directory → api docs$ /docs src/services/user.py --type docstring
Analyzing: src/services/user.py
Functions to document:
- get_user (line 15) - Missing docstring
- create_user (line 32) - Incomplete docstring
- update_user (line 58) - Missing docstring
- delete_user (line 89) - OK
Generating documentation...
Updated src/services/user.py:
+ def get_user(user_id: str) -> User | None:
+ """Retrieve a user by their unique identifier.
+
+ Args:
+ user_id: The unique identifier of the user.
+
+ Returns:
+ The User object if found, None otherwise.
+
+ Raises:
+ DatabaseError: If the database connection fails.
+ """
[... additional updates ...]
Documentation complete:
- 3 functions documented
- 1 function already documented
- 0 functions skipped
$ /docs --type changelog
Analyzing commits since last release (v1.1.0)...
Commits found: 12
- 4 feat commits
- 3 fix commits
- 5 chore commits
Generated CHANGELOG entry:
## [Unreleased]
### Added
- feat(auth): add password reset endpoint (#145)
- feat(user): add profile picture upload (#142)
- feat(api): add rate limiting middleware (#138)
- feat(notifications): add email notifications (#136)
### Fixed
- fix(auth): handle expired tokens gracefully (#144)
- fix(db): resolve connection pool exhaustion (#141)
- fix(api): correct pagination offset calculation (#139)
Append to CHANGELOG.md? (Entry added at top of file)