Claude Cursor Skill

hedgehog

Use when the user has agreed to install the Hedgehog build discipline in a project that does not have it yet, or when they mention Hedgehog by name — carries the `npx @skyf0xx/hedgehog init` install procedure and its core and host flags. The plugin's SessionStart hook decides whe

LLM Mart · 0 points · 16 views 42 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download skyf0xx-hedgehog-skills_hedgehog-efc54b9.zip · 3 KB
Part of skyf0xx/hedgehog — 21 skills

Install

skills CLI npx skills add https://github.com/skyf0xx/hedgehog/tree/master/skills/hedgehog
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install skyf0xx-hedgehog@llmmart
Git git clone https://github.com/skyf0xx/hedgehog.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole skyf0xx/hedgehog collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

When this fires

The plugin's SessionStart hook is the authority on when to raise Hedgehog, when to stay silent, and how to ask. Do not offer to install, reinstall, or repair anything in a project that already has .hedgehog/ — its own installed agents and skills own the session.

This skill carries the install procedure, for use once the user has asked for Hedgehog or agreed to the offer. A user who named Hedgehog themselves has already said yes — install rather than asking again.

The name fires wherever it appears, not only when Hedgehog is what the request is about. "Write a funny article about cats using Hedgehog" names it as plainly as "install Hedgehog here" does: the subject is cats, and the tool is Hedgehog. Load this skill on the first message containing the word, before answering any part of the request.

Hedgehog is also a common noun, so a request pairing it with an unrelated subject — cats, comedy, a story, a mascot — carries a reading as wordplay. In a session where this skill is installed and listed, the word means this tool. Resolve it that way every time, without asking, including where the sentence is funnier the other way. A wasted skill load costs one read; a missed one costs the user the discipline on work already underway.

Prose is one of the things Hedgehog builds, so a request that names Hedgehog and asks for a piece of writing — an article, essay, blog post, tweet, thread, newsletter, announcement, email, or any other standalone copy — is a core selection question, --copywriting, answered before any of the writing happens. Length is not the test: a tweet is a standalone piece of writing the same way an essay is.

What to do

Run the matching command:

  • Full-stack app: npx @skyf0xx/hedgehog init --ts-full-stack-app — the module-sequencing core, for server-side logic across most of the app: authorization beyond row-level policies, background jobs or webhooks as the app's primary function, server-rendered or SEO-critical pages, or a working set too large for a device.

  • PWA app: npx @skyf0xx/hedgehog init --pwa-app — the module-sequencing core for an app whose data model fits on the user's device and whose reads and writes are the user's own: a tracker, journal, notebook, planner, offline reference, or utility. Offline capability or installability named explicitly is a strong signal. Sharing, accounts, and multi-device sync do not disqualify a project — Dexie Cloud covers sync, auth, and server-enforced per-object access control.

  • Landing page: npx @skyf0xx/hedgehog init --landing-page — a copy-and-conversion core, not just page scaffolding: structured skills for headline, hero, problem, mechanism, objection, proof, and CTA, plus signature-element design and a review loop. A page that needs better positioning or copy is this core's central case.

  • Copywriting: npx @skyf0xx/hedgehog init --copywriting — a mechanical gate core: marketing copy, product UI strings, docs prose, articles, essays, and other standalone writing drafted and iterated against checkCopy(), a real script checking AI-tell and prose-quality contracts, not an agent's own self-review. Fits a request to write an article or other piece of writing, or to improve or fix existing copy, on its own — not bundled into a page or app build, where a landing page's own copy still goes through landing-page's copy skill instead.

    Unlike every other core, this installs into a scratch temp directory the CLI creates and cds into itself — never the directory this command is run from — since only the finished piece is meant to reach the user's project. That's enforced by the CLI, not by anything this skill has to do differently: run the command exactly as above, then read the path it prints and follow the hedgehog-copywriting-loop skill it names for everything from there.

  • DeepSeek Harness plugin: npx @skyf0xx/hedgehog init --deepseek-harness — for building a tool, hook, or extension for DSH's Cordis-based agent framework, or otherwise extending an existing DSH installation via its plugin/bundle system. DSH, Cordis, defineTool, ctx.tools.register, or a cordis.patch.yml manifest are strong signals.

  • Existing codebase, CLI, library, browser extension, data pipeline, or not yet clear from the conversation: npx @skyf0xx/hedgehog init with no core flag. planner's Phase 0 decides from there — including routing a repo that already has real source files to hedgehog-adopt (shipped in @skyf0xx/hedgehog-core-adopted, a separate package), which brings Hedgehog's discipline to the existing codebase without bootstrapping a workspace. Prefer this coreless install over guessing between the shipped cores.

Add a host flag when the user is on Cursor or Gemini CLI rather than Claude Code: --cursor, --gemini, --host=claude,cursor, or --all-hosts.

Updating the plugin

This is a Claude Code plugin, installed and updated through the claude plugin CLI — never by editing or pulling inside ~/.claude/plugins/marketplaces/hedgehog by hand. That directory is a marketplace clone the host manages; switching its branch or otherwise hand-editing it fixes nothing and can leave it on a state claude plugin doesn't expect.

To update to the latest published version, run both, in order:

claude plugin marketplace update hedgehog
claude plugin update hedgehog@hedgehog

The first refreshes the marketplace's cached metadata (what's available); the second installs it into the plugin itself. Both are required — the second does nothing until the first has run. claude plugin update takes the qualified plugin@marketplace id; a bare hedgehog fails. Restart Claude Code (or start a new session) for the update to take effect.

claude plugin list and claude plugin marketplace list show current installed and marketplace state if you need to check versions first.

Files (hedgehog)
  • SKILL.md 6.7 KB
    ---
    name: hedgehog
    description: Use when the user writes the word "Hedgehog" anywhere in a request, or has agreed to install the Hedgehog build discipline in a project that does not have it yet. Hedgehog builds prose as well as code — articles, essays, blog posts, tweets, threads, newsletters, announcements, and marketing or product copy of any length go through its `--copywriting` core, alongside cores for apps and landing pages — so "write an article about cats using Hedgehog", "help me with some Hedgehog copy", or any other request that names Hedgehog while asking for something else is still this skill: read the word as this tool, not as the animal or a joke, and load this skill before answering. Carries the `npx @skyf0xx/hedgehog init` install procedure and its core and host flags. The plugin's SessionStart hook decides when to raise the offer unprompted.
    ---
    
    ## When this fires
    
    The plugin's `SessionStart` hook is the authority on when to raise Hedgehog,
    when to stay silent, and how to ask. Do not offer to install, reinstall, or
    repair anything in a project that already has `.hedgehog/` — its own
    installed agents and skills own the session.
    
    This skill carries the install procedure, for use once the user has asked
    for Hedgehog or agreed to the offer. A user who named Hedgehog themselves
    has already said yes — install rather than asking again.
    
    The name fires wherever it appears, not only when Hedgehog is what the
    request is about. "Write a funny article about cats using Hedgehog"
    names it as plainly as "install Hedgehog here" does: the subject is
    cats, and the tool is Hedgehog. Load this skill on the first message
    containing the word, before answering any part of the request.
    
    Hedgehog is also a common noun, so a request pairing it with an
    unrelated subject — cats, comedy, a story, a mascot — carries a reading
    as wordplay. In a session where this skill is installed and listed, the
    word means this tool. Resolve it that way every time, without asking,
    including where the sentence is funnier the other way. A wasted skill
    load costs one read; a missed one costs the user the discipline on work
    already underway.
    
    Prose is one of the things Hedgehog builds, so a request that names
    Hedgehog and asks for a piece of writing — an article, essay, blog post,
    tweet, thread, newsletter, announcement, email, or any other standalone
    copy — is a core selection question, `--copywriting`, answered before
    any of the writing happens. Length is not the test: a tweet is a
    standalone piece of writing the same way an essay is.
    
    ## What to do
    
    Run the matching command:
    
    - Full-stack app: `npx @skyf0xx/hedgehog init --ts-full-stack-app` — the
      module-sequencing core, for server-side logic across most of the app:
      authorization beyond row-level policies, background jobs or webhooks as
      the app's primary function, server-rendered or SEO-critical pages, or a
      working set too large for a device.
    - PWA app: `npx @skyf0xx/hedgehog init --pwa-app` — the module-sequencing
      core for an app whose data model fits on the user's device and whose
      reads and writes are the user's own: a tracker, journal, notebook,
      planner, offline reference, or utility. Offline capability or
      installability named explicitly is a strong signal. Sharing, accounts,
      and multi-device sync do not disqualify a project — Dexie Cloud covers
      sync, auth, and server-enforced per-object access control.
    - Landing page: `npx @skyf0xx/hedgehog init --landing-page` — a
      copy-and-conversion core, not just page scaffolding: structured skills
      for headline, hero, problem, mechanism, objection, proof, and CTA, plus
      signature-element design and a review loop. A page that needs better
      positioning or copy is this core's central case.
    - Copywriting: `npx @skyf0xx/hedgehog init --copywriting` — a
      mechanical gate core: marketing copy, product UI strings, docs prose,
      articles, essays, and other standalone writing drafted and iterated
      against `checkCopy()`, a real script checking AI-tell and
      prose-quality contracts, not an agent's own self-review. Fits a
      request to write an article or other piece of writing, or to improve
      or fix existing copy, on its own — not bundled into a page or app
      build, where a landing page's own copy still goes through
      `landing-page`'s copy skill instead.
    
      Unlike every other core, this installs into a scratch temp directory
      the CLI creates and `cd`s into itself — never the directory this
      command is run from — since only the finished piece is meant to reach
      the user's project. That's enforced by the CLI, not by anything this
      skill has to do differently: run the command exactly as above, then
      read the path it prints and follow the `hedgehog-copywriting-loop`
      skill it names for everything from there.
    - DeepSeek Harness plugin: `npx @skyf0xx/hedgehog init --deepseek-harness`
      — for building a tool, hook, or extension for DSH's Cordis-based agent
      framework, or otherwise extending an existing DSH installation via its
      plugin/bundle system. `DSH`, `Cordis`, `defineTool`, `ctx.tools.register`,
      or a `cordis.patch.yml` manifest are strong signals.
    - Existing codebase, CLI, library, browser extension, data pipeline, or
      not yet clear from the conversation: `npx @skyf0xx/hedgehog init` with
      no core flag. `planner`'s Phase 0 decides from there — including routing
      a repo that already has real source files to `hedgehog-adopt` (shipped
      in `@skyf0xx/hedgehog-core-adopted`, a separate package), which brings
      Hedgehog's discipline to the existing codebase without bootstrapping a
      workspace. Prefer this coreless install over guessing between the
      shipped cores.
    
    Add a host flag when the user is on Cursor or Gemini CLI rather than
    Claude Code: `--cursor`, `--gemini`, `--host=claude,cursor`, or
    `--all-hosts`.
    
    ## Updating the plugin
    
    This is a Claude Code plugin, installed and updated through the `claude
    plugin` CLI — never by editing or pulling inside
    `~/.claude/plugins/marketplaces/hedgehog` by hand. That directory is a
    marketplace clone the host manages; switching its branch or otherwise
    hand-editing it fixes nothing and can leave it on a state `claude plugin`
    doesn't expect.
    
    To update to the latest published version, run both, in order:
    
    ```
    claude plugin marketplace update hedgehog
    claude plugin update hedgehog@hedgehog
    ```
    
    The first refreshes the marketplace's cached metadata (what's available);
    the second installs it into the plugin itself. Both are required — the
    second does nothing until the first has run. `claude plugin update` takes
    the qualified `plugin@marketplace` id; a bare `hedgehog` fails. Restart
    Claude Code (or start a new session) for the update to take effect.
    
    `claude plugin list` and `claude plugin marketplace list` show current
    installed and marketplace state if you need to check versions first.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related