@skyf0xx/hedgehog 6.2.5 → 6.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -192,6 +192,18 @@ Bundle
192
192
  Join
193
193
  ```
194
194
 
195
+ ### Copywriting
196
+
197
+ Copy is drafted and revised against a mechanical gate instead of prompting alone:
198
+
199
+ ``` text
200
+ Brief
201
+
202
+ Draft ⇄ zod validation()
203
+ ↓ pass
204
+ Ship
205
+ ```
206
+
195
207
  ### Anything else
196
208
 
197
209
  A CLI, a library, a browser extension, a data pipeline, etc. gets its build order.
package/README.zh-CN.md CHANGED
@@ -192,6 +192,18 @@ Bundle
192
192
  Join
193
193
  ```
194
194
 
195
+ ### 文案写作
196
+
197
+ 文案的撰写与修改会经过一道机械化的关卡,而不是仅靠提示词:
198
+
199
+ ``` text
200
+ Brief
201
+
202
+ Draft ⇄ zod validation()
203
+ ↓ pass
204
+ Ship
205
+ ```
206
+
195
207
  ### 其他任意类型
196
208
 
197
209
  CLI、库、浏览器扩展、数据管道等,都会拥有各自的构建顺序。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyf0xx/hedgehog",
3
- "version": "6.2.5",
3
+ "version": "6.2.6",
4
4
  "description": "Install the Hedgehog build discipline (agents + skills) into a repo, for Claude Code, Cursor, or Gemini CLI.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -259,6 +259,20 @@ the first-run shape; on re-entry, run `hedgehog-planning-intake`'s
259
259
  owns `.hedgehog/chain/00-brief.md` and this core's own Confirm & Lock
260
260
  stage; `.hedgehog/BMAD/` is written by the shared Phase 0 in
261
261
  `hedgehog-planning-intake`.
262
+ - **`copywriting`** → open `hedgehog-copywriting-loop`'s planning-intake
263
+ section and follow it: it opens with `hedgehog-planning-intake`'s
264
+ Phase 0 (the same vendored BMAD shelf `full-stack-app` runs, in full,
265
+ archived to `.hedgehog/BMAD/` — the same skill, not a separate copy of
266
+ its steps), then does its own mining into a draft brief (what's being
267
+ written, the audience, the register), the copywriting counterpart to
268
+ `hedgehog-planning-intake`'s Phase 1 (domain modules and an Add-ons
269
+ decision on full-stack-app). The mined draft is shown back at this
270
+ core's own Confirm & Lock stage, pre-filled from BMAD's output, for
271
+ the user to accept or correct. State the same BMAD attribution as
272
+ full-stack-app before that Phase 0 begins. `hedgehog-copywriting-loop`
273
+ owns `.hedgehog/copy/00-brief.md` and this core's own Confirm & Lock
274
+ stage; `.hedgehog/BMAD/` is written by the shared Phase 0 in
275
+ `hedgehog-planning-intake`.
262
276
  - **`deepseek-harness`** → no BMAD shelf runs on this core, and none of
263
277
  `hedgehog-planning-intake` applies. Intake is mechanical, owned
264
278
  entirely by `hedgehog-dsh-loop`'s own Planning intake section: confirm
package/src/db/plan.mjs CHANGED
@@ -5,11 +5,11 @@
5
5
  //
6
6
  // full-stack-app and pwa-app: one task per layer per intent (an intent is
7
7
  // a domain module — see the core definition's `{module}` placeholder).
8
- // landing-page, deepseek-harness, and authored (whether designed from
9
- // scratch or adopted onto an existing repo): one task per phase/layer, no
10
- // module axis. All are the same operation — walk a core definition's layer
11
- // chain once per intent — because a linear chain is the degenerate case of
12
- // the layer graph (spec: MVP scope item 5).
8
+ // landing-page, copywriting, deepseek-harness, and authored (whether
9
+ // designed from scratch or adopted onto an existing repo): one task per
10
+ // phase/layer, no module axis. All are the same operation — walk a core
11
+ // definition's layer chain once per intent — because a linear chain is
12
+ // the degenerate case of the layer graph (spec: MVP scope item 5).
13
13
  //
14
14
  // Layer cardinality: a layer marked `once: true` in the core definition
15
15
  // opts out of that per-intent multiplication and compiles a single task
@@ -13,6 +13,7 @@ export const AGENT_CAPABILITY = {
13
13
  // Build and scaffold: read, write, and run commands.
14
14
  'backend-eng': 'full',
15
15
  bootstrap: 'full',
16
+ 'copy-writer': 'full',
16
17
  'front-end-eng': 'full',
17
18
  'harness-eng': 'full',
18
19
  'landing-builder': 'full',
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgehog",
3
- "version": "6.2.5",
3
+ "version": "6.2.6",
4
4
  "description": "Hedgehog build discipline: ordered, tested, verified build steps.",
5
5
  "contextFileName": "GEMINI.md"
6
6
  }
@@ -51,6 +51,15 @@
51
51
  "language": "typescript",
52
52
  "repository": "https://github.com/skyf0xx/hedgehog-core-adopted",
53
53
  "selects_when": "The description is about bringing Hedgehog's discipline to a codebase that already exists, rather than building something new — the repo already has real source files, or the user says so explicitly: \"adopt this repo\", \"add Hedgehog to my existing project\", \"I want scope/verify enforcement on my changes here\". Not chosen by matching a `when` paragraph the way a shipped core is: hedgehog-adopt reads the repo read-only, proposes a linear-chain .hedgehog/core.yaml whose verify commands are the repo's own, and writes only .hedgehog/ — never a workspace, never a stack migration. This is the core most often confused with authored: adopted brings discipline to an existing repo, while authored designs and scaffolds a workspace from scratch for something being built new — route here only when the work is landing on a codebase that already exists."
54
+ },
55
+ {
56
+ "name": "copywriting",
57
+ "flag": "--copywriting",
58
+ "package": "@skyf0xx/hedgehog-core-copywriting",
59
+ "version": "^0.1.1",
60
+ "language": "typescript",
61
+ "repository": "https://github.com/skyf0xx/hedgehog-core-copywriting",
62
+ "selects_when": "The description asks for a piece of writing or prose to be written or fixed as its own deliverable — marketing copy, a product announcement, UI microcopy strings, docs prose, an email, a pitch, an article, an essay, a blog post, or any other standalone written piece — with no page, app, or other artifact being built around it. Concrete signals: \"write an article about X\", \"write copy for X\", \"help me write a blog post\", \"make this sound less like AI\", \"fix this copy\", \"improve this writing\", \"draft a product announcement\", a request to run text through an AI-tell or humanizer check. Not just marketing/product framing — any standalone prose request qualifies, articles and essays included. The core drafts against `checkCopy()`, a real script running deterministic AI-tell and prose-quality checks (banned vocabulary, passive voice, readability score, sentence-length variance), not an agent's own self-review — a piece of writing ships because the script exited 0. This is the core most often confused with landing-page: landing-page's own copy skill still owns copy that's part of a full page build (headline, hero, section copy sequenced through that core's Chain Method); route here only when the writing is the entire ask, not one stage of a larger build."
54
63
  }
55
64
  ]
56
65
  }
@@ -1,9 +1,10 @@
1
1
  // Core package registry. One entry per Hedgehog core — full-stack-app,
2
- // pwa-app, landing-page, deepseek-harness, and authored — naming the npm
3
- // package that ships its agents, skills, and (for the first four) scaffold,
4
- // plus the CLI flag `hedgehog init` accepts for it and the prose `planner`
5
- // reads aloud in Phase 0 to choose one. A fixed table, one entry per core,
6
- // discovered by name or flag rather than convention.
2
+ // pwa-app, landing-page, copywriting, deepseek-harness, and authored —
3
+ // naming the npm package that ships its agents, skills, and (for the
4
+ // first five) scaffold, plus the CLI flag `hedgehog init` accepts for it
5
+ // and the prose `planner` reads aloud in Phase 0 to choose one. A fixed
6
+ // table, one entry per core, discovered by name or flag rather than
7
+ // convention.
7
8
  //
8
9
  // `authored` carries no flag — it is never selected off a fixed list at
9
10
  // install time. hedgehog-core-design chooses it during planning (from-scratch
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: hedgehog-planning-intake
3
- description: Use on any core for first-run planning intake — Phase 0 runs the vendored BMAD-METHOD planning shelf, shared by every core, and Phase 1 (mining `04-prd.md` into intent records plus the Add-ons/sync-and-remote-entities decision) is full-stack-app's and pwa-app's shared procedure — identical mechanics, a different decision at step 5/8. Phase 0 also defines compressed intake, the path a user's explicit "just build it" choice takes on full-stack-app, pwa-app, and authored cores: one batched round of questions in place of the shelf, writing the same archive at the same path so Phase 1, `ux-planner`, and the Re-entry pass all keep their documented source. Also use for the Re-entry pass, which mines new scope into additional intents without re-running the shelf, on any core with a module axis to add an intent to (full-stack-app, pwa-app, authored) — landing-page has none, so its own new-scope path runs through `hedgehog-landing-loop`'s Correction Protocol instead. Invoked by the `planner` agent, which decides the path; don't run standalone. landing-page runs this skill's Phase 0 on first run, then mines the same archive through `hedgehog-landing-loop`'s own planning-intake section, that core's counterpart to this skill's Phase 1. An authored core runs this skill's Phase 0, then `hedgehog-core-design`, then this skill's Phase 1 mining against the designed layer sequence. A brownfield adoption (`hedgehog-adopt`) never runs this skill's shelf at all — the drivers BMAD elicits are already settled facts of a repo that already exists.
3
+ description: Use on any core for first-run planning intake — Phase 0 runs the vendored BMAD-METHOD planning shelf, shared by every core, and Phase 1 (mining `04-prd.md` into intent records plus the Add-ons/sync-and-remote-entities decision) is full-stack-app's and pwa-app's shared procedure — identical mechanics, a different decision at step 5/8. Phase 0 also defines compressed intake, the path a user's explicit "just build it" choice takes on full-stack-app, pwa-app, and authored cores: one batched round of questions in place of the shelf, writing the same archive at the same path so Phase 1, `ux-planner`, and the Re-entry pass all keep their documented source. Also use for the Re-entry pass, which mines new scope into additional intents without re-running the shelf, on any core with a module axis to add an intent to (full-stack-app, pwa-app, authored) — landing-page has none, so its own new-scope path runs through `hedgehog-landing-loop`'s Correction Protocol instead. Invoked by the `planner` agent, which decides the path; don't run standalone. landing-page runs this skill's Phase 0 on first run, then mines the same archive through `hedgehog-landing-loop`'s own planning-intake section, that core's counterpart to this skill's Phase 1. copywriting runs this skill's Phase 0 the same way, then mines the same archive through `hedgehog-copywriting-loop`'s own planning-intake section into a what/audience/register brief — no module axis, so its own new-scope path runs through that loop's Correction Protocol rather than the Re-entry pass below. An authored core runs this skill's Phase 0, then `hedgehog-core-design`, then this skill's Phase 1 mining against the designed layer sequence. A brownfield adoption (`hedgehog-adopt`) never runs this skill's shelf at all — the drivers BMAD elicits are already settled facts of a repo that already exists.
4
4
  ---
5
5
 
6
6
  # Hedgehog Planning Intake
@@ -11,12 +11,15 @@ every core) and mining its output. On full-stack-app and pwa-app that
11
11
  mining is this skill's own Phase 1, into intent records written via
12
12
  `hedgehog intent
13
13
  add`; on landing-page it's `hedgehog-landing-loop`'s planning-intake
14
- section, into a subject/audience/job statement. This is the mechanics
14
+ section, into a subject/audience/job statement; on copywriting it's
15
+ `hedgehog-copywriting-loop`'s planning-intake section, into a
16
+ what/audience/register brief. This is the mechanics
15
17
  `planner` calls once its Phase 0 core-selection check has picked a core —
16
18
  the interpretive judgment (which Feature becomes which intent, Confirm &
17
19
  Lock either way) belongs to `planner`; this skill (Phase 0, and Phase 1 on
18
- full-stack-app and pwa-app) and `hedgehog-landing-loop` (landing-page's
19
- own mining) are the fixed procedures that judgment runs inside.
20
+ full-stack-app and pwa-app), `hedgehog-landing-loop` (landing-page's own
21
+ mining), and `hedgehog-copywriting-loop` (copywriting's own mining) are
22
+ the fixed procedures that judgment runs inside.
20
23
 
21
24
  That shelf run is a **first run**, once per project. When new scope
22
25
  enters play later on a core with a module axis (full-stack-app, pwa-app,