本文へ移動
cccskills
無料GitHub で公開

grow

Pull the open Bonemeal action queue (landing pages and blog posts the user has not built yet) via the bonemeal MCP server, let the user pick which ones to build, dispatch each to the spawn-pages or spawn-blogs skill with the action's brief, and mark each completed in Bonemeal once the file is written. Use this whenever the user says "grow", "/grow", "build my Bonemeal queue", "what's in my Bonemeal queue", "build the suggested pages", or wants to act on Bonemeal's content suggestions. Stop and ask the user before marking actions complete the first time, then remember their preference.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Overgrow — Grow (Bonemeal Action Queue)

This skill is the integration point between the Bonemeal MCP server and the rest of overgrow. It surfaces the open action queue from the user's Bonemeal project, lets them pick what to build, dispatches each item to the existing spawn-pages or spawn-blogs skill with the action's brief as input, then marks each one completed back on Bonemeal — attributing the completion to "Overgrow" in the Bonemeal UI.

Prerequisites

  1. The user must already have authenticated the bonemeal MCP server. If mcp__overgrow__list_projects is unavailable, tell them to run /mcp and authenticate the overgrow server, then re-invoke this skill.
  2. Two state files. Create on first run.

State files

State is split into project-scoped (committed to git, shared across collaborators) and developer-scoped (per-machine).

.overgrow/bonemeal.json (in repo root, committed)

{
  "project_id": "<uuid>",
  "project_name": "<for log lines>"
}

Identifies which Bonemeal project this repo represents. Same answer for every developer who clones the repo, so it belongs in version control.

~/.config/overgrow/preferences.json (per-developer, never committed)

{
  "auto_complete": true | false | null
}

Each developer's personal answer to "should /grow auto-mark actions complete in Bonemeal?". null until they answer, then true ("always") or false ("ask each time").

If $XDG_CONFIG_HOME is set, prefer $XDG_CONFIG_HOME/overgrow/preferences.json over ~/.config/.... If running on a system without ~/.config/ (e.g. some Windows setups), fall back to a sensible per-user location and tell the user where you wrote it.

Create either file (and parent directories) on first read if missing. Treat unreadable / malformed JSON as "uninitialized" — re-prompt the user for what's needed and rewrite cleanly.

Flow

1. Resolve the project

Read .overgrow/bonemeal.json. If project_id is null/missing:

  • Call mcp__overgrow__list_projects (no arguments).
  • If exactly one project is returned, use it; tell the user "Linking this repo to Bonemeal project: {name}".
  • If multiple, present a numbered list with name, workspace.name, id, and call AskUserQuestion to ask which one this repo represents.
  • Persist project_id and project_name to .overgrow/bonemeal.json.
  • Suggest the user commit the file so collaborators don't get re-prompted.

If project_id is set, skip the resolve step. (User can edit the file by hand to relink.)

2. Pull the queue

Call mcp__overgrow__get_project_actions with:

  • project: <state.project_id>
  • status: "proposed" (default — the open queue)
  • action_type: filter based on $ARGUMENTS:
    • "landing" → landing_page
    • "blogs" → blog_post
    • empty → call once with landing_page, once with blog_post, merge results.
  • limit: 50 (generous; the daily generator caps lower than this anyway).

If the queue is empty, tell the user "Your Bonemeal queue is clear — no proposed landing pages or blog posts." and stop.

3. Present the queue

Render a numbered list grouped by action_type. Each row: [N] [type icon] {title} — {opportunity_overview}.

opportunity_overview is markdown with bold on the hook; render as-is.

Then call AskUserQuestion asking which to build. Accept these reply forms:

  • all — build everything in the list.
  • 1, 3, 5 — comma-separated numbers (or ranges like 1-3).
  • landing / blogs — only that type from the list.
  • skip / cancel — exit without building.

4. Build each chosen action

Process the selected actions in order. For each:

4a. Landing page (action_type === "landing_page")

The action's metadata is shaped:

{
  "target_keywords": ["..."],
  "gap_prompts": ["..."],
  "competing_domains": ["..."]
}

Invoke the spawn-pages skill with a brief built from:

  • title (the action title; this is the page intent)
  • description and opportunity_overview (rationale and 1-line hook)
  • metadata.target_keywords (primary + secondary keywords)
  • metadata.gap_prompts (the AI-search prompts the page must answer; pass these into spawn-pages's query-fanout step instead of generating new ones)
  • metadata.competing_domains (sites currently winning the keyword; reference for differentiation)

Phrase the dispatch as a natural-language sub-task to spawn-pages so it triggers the existing skill machinery — don't try to call it as a tool.

4b. Blog post (action_type === "blog_post")

The action's metadata is shaped:

{
  "topic": "...",
  "target_keywords": ["..."],
  "gap_prompts": ["..."],
  "competing_content_urls": ["..."]
}

Invoke the spawn-blogs skill with a brief built from:

  • title (post title)
  • description and opportunity_overview
  • metadata.topic (the pillar / cluster anchor)
  • metadata.target_keywords
  • metadata.gap_prompts (sub-intents to cover)
  • metadata.competing_content_urls (for the "what to do differently" pass)

Same dispatch style as 4a.

5. Mark completed

After each successful build (file written and saved):

  1. Compute the relative URL of the created page. Examples:

    • app/foo/page.tsx → /foo
    • app/blog/(post)/foo/page.mdx → /blog/foo
    • content/blog/foo.md → /blog/foo

    If the routing convention is ambiguous (custom framework), use the file path the user can git diff to find it; better than no URL.

  2. Determine whether to confirm. Read auto_complete from the per-developer preferences file (~/.config/overgrow/preferences.json or $XDG_CONFIG_HOME/overgrow/preferences.json):

    • If auto_complete === true, skip the prompt.
    • If auto_complete === false, prompt once per action: "Mark {title} complete in Bonemeal? [y/n]".
    • If auto_complete is null/missing, prompt once with three options via AskUserQuestion: Yes, No, Always (don't ask again).
      • On Always, write auto_complete: true to the preferences file before calling.
      • On Yes, leave auto_complete unset for this run, but ask again next run (current-run yeses don't change the persistent setting).
      • On No, leave auto_complete unset and skip the call for this action.
  3. If confirmed, call mcp__overgrow__mark_action_complete:

    • action_id: <action.id>
    • output_url: <relative URL from step 1> (omit if the URL really can't be derived)
  4. If the call returns isError, log the message but continue to the next action — Bonemeal-side failures shouldn't block the local build queue.

6. End-of-run summary

Print:

  • Built X / Y selected actions.
  • For each successful action: ✓ {title} → {output_url} (and · marked complete in Bonemeal if applicable)
  • For each failed action: ✗ {title} — {short reason}
  • Z proposed actions still in your queue. Re-run /grow to refresh.

Failure modes

  • MCP not authenticated: tell the user to run /mcp. Don't try to skip and rebuild blindly.
  • Build failed for an action: do NOT mark complete. Leave it in proposed state so it shows up next run.
  • Action already marked complete in Bonemeal between fetch and mark: the MCP tool's UPDATE will no-op and return isError: true; treat as a benign skip.
  • State files corrupted or unreadable: treat as uninitialized — re-prompt and rewrite cleanly. The two files are independent; a broken preferences.json doesn't invalidate the project link, and vice versa.

Conventions

  • Always tell the user what you're doing (one-line status: "Pulling queue…", "Building landing page X of Y…", "Marked complete in Bonemeal").
  • Don't batch silent calls — each MCP call is a remote write and the user should see them happen.
  • If $ARGUMENTS is landing or blogs, pass through to the action_type filter and skip the other type entirely.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

audit

無料

Audit on-page SEO and GEO (generative engine optimization) signals across the site — title tags, meta descriptions, H1/H2/H3 hierarchy, canonical tags, Open Graph, structured data, content length, internal link density, and AI-citation readiness. Use this skill whenever the user asks to "audit SEO", "check metadata", "review titles and descriptions", "check heading structure", "run an SEO audit", "GEO audit", "check schema markup", "find SEO issues", or review any on-page signal affecting organic or AI-search visibility. Output is a prioritized issue list with per-page findings and fixes.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

humanize

無料

Systematically rewrites AI-generated or AI-sounding text on web pages, documents, or pasted content to sound human. Use this skill whenever a user asks to "humanize", "de-AI", "make this sound less like AI", "rewrite to avoid AI detection", or "clean up AI writing". Also trigger when a user pastes text and asks to make it sound more natural, more human, or less robotic. The skill applies a strict deterministic rule pipeline — NOT creative rewriting — making it safe for agentic/automated use.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

init

無料

Scan the current codebase to identify and categorize every public-facing page (landing pages, product/feature pages, solutions, pricing, resources, blogs, case studies, about, legal) and produce a single authoritative inventory document. Use this skill whenever the user asks to "init overgrow", "set up overgrow", "scan the site", "inventory the pages", "categorize pages", "map the site", or whenever any other overgrow skill needs a baseline page map and none exists yet. Output is a structured markdown inventory at `.overgrow/inventory.md` that all other overgrow skills read from.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

llmstxt

無料

Generate or audit an `/llms.txt` file at the site root that makes the site legible to LLMs and AI answer engines at inference time, following the llms.txt proposal (Jeremy Howard, 2024). Use this skill whenever the user asks to "build llms.txt", "create llms.txt", "generate llms.txt", "audit llms.txt", "make my site LLM-friendly", "expose the site to AI assistants", "let ChatGPT / Claude / Perplexity cite my site", "add an AI assistants index", or asks about `.md` companion pages for LLM consumption. Output is a valid `llms.txt` file (or an audit) plus optional `.md` companion page generation for top pages.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

sitemap

無料

Audit an existing sitemap.xml / robots.txt or generate new ones following sitemaps.org protocol and Google Search Central guidance, with a growth-first default that allows every crawler including AI search and AI training bots. Use this skill whenever the user asks to "build a sitemap", "generate sitemap.xml", "audit the sitemap", "refresh sitemap", "write robots.txt", "check robots", "allow AI crawlers", "block AI crawlers", "fix crawl budget", "submit to Google", or any other discovery / indexing configuration task. Output is a valid sitemap.xml (or sitemap index) and/or robots.txt, plus a written audit when auditing.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

Given the product and the existing page inventory, identify missing blog topics and generate new blog posts that capture search/AI intent using the query-fanout pattern. Use this skill whenever the user asks to "spawn blogs", "generate blog posts", "expand the blog", "build out a content cluster", "write blog ideas", "cover more search intents", "query fanout for blogs", or wants new long-form content that supports existing pillars. Output is one new post per topic in the project's existing post format (markdown, MDX, component, or CMS migration note), with frontmatter shape mirrored from an existing post.

日本語の概要は準備中です。原文の説明を表示しています。

zhizdev/overgrow72026年5月2日 更新

zhizdev のスキルをすべて見る

このスキルの問題を報告する