From mcp-client-skills
Saves content to GROWI wiki with intelligent path suggestions, page name proposals, and visibility confirmation. Triggers on save to GROWI, store in wiki, or archive requests.
npx claudepluginhub growilabs/growi-mcp-server --plugin mcp-client-skillsThis skill uses the workspace's default tool permissions.
Save content to GROWI by finding the best destination, confirming with the user, and creating the page.
Create and maintain personal wikis using commune-wiki template: setup from GitHub repo, personalize config, add atomic notes with frontmatter and WikiLinks, publish via git commit+push for Cloudflare auto-deploy.
Queries personal wikis built with wiki-init and wiki-ingest: reads index/pages, synthesizes cited answers, flags gaps, offers to save results as new wiki pages.
Builds and maintains persistent Obsidian wiki vaults using AI for source ingestion, knowledge querying, note linting, and autonomous research.
Share bugs, ideas, or general feedback.
Save content to GROWI by finding the best destination, confirming with the user, and creating the page.
Call the suggest-path tool with the content body the user wants to save.
Show all suggestions from the response. Always add a "specify path manually" option — this is your responsibility, not part of the API response.
For each suggestion, show the label and description to help the user decide. Example presentation:
1. Save as memo — Save to your personal memo area
2. Save near related pages — Related pages like "How to use React Hooks" exist nearby
3. Specify path manually
After the user selects a destination:
/Tech Notes/React/ + Jotai vs Redux → /Tech Notes/React/Jotai vs ReduxThe path from suggestions is always a directory (ends with /). You are responsible for proposing the page name portion.
Before saving, confirm the page's visibility with the user. Present up to 3 simple options based on the destination's grant upper limit:
grant value from the API response as-isWhich options to show depends on the grant upper limit:
| Grant upper limit | Options to show |
|---|---|
| 1 (Public) | All three: Inherit from parent / Only me / Anyone with the link |
| 2 (Anyone-with-link) | All three: Inherit from parent / Only me / Anyone with the link |
| 5 (Group-only) | Two only: Inherit from parent / Only me (omit "Anyone with the link" — it would exceed the upper limit) |
| 4 (Only-me) | No confirmation needed — Only-me is the only option |
The user must never select a grant that exceeds the upper limit from the API.
Example (when grant upper limit is 1):
How should the page visibility be set?
1. Inherit from parent page (Public)
2. Only me
3. Anyone with the link
Do NOT silently default to the upper limit. Always ask unless the only option is Only-me.
Use the page creation tool to save:
Each suggestion contains:
| Field | Description |
|---|---|
type | memo (personal memo area), search (AI-recommended based on related pages), or category (top-level category match) |
path | Directory path (always ends with /) |
label | Short display label for the option |
description | Why this destination is recommended — show this to the user |
grant | Maximum permission level allowed at this path |
The grant value is the upper limit of what can be set at that directory — a constraint, not a recommendation.
| Grant | Meaning |
|---|---|
| 1 | Public |
| 2 | Anyone-with-the-link |
| 5 | Group-only |
| 4 | Only-me |
When saving, the selected grant must not exceed this limit. See Step 4 for how to present options to the user.
memo type → present those + manual input option