@damiangilgonzalez/harness 1.3.8 → 1.3.9
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 +91 -12
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/suggest/SKILL.md +8 -6
- package/targets/_md-block.js +1 -1
- package/targets/hook-once.mjs +6 -6
package/README.md
CHANGED
|
@@ -423,11 +423,7 @@ Take a fuzzy intent to a shipped, verified change — phase by phase. `npx @dami
|
|
|
423
423
|
|
|
424
424
|
[source-grounded-development](skills/source-grounded-development/) · [simplify-code](skills/simplify-code/)
|
|
425
425
|
|
|
426
|
-
> The actual spec-first chain
|
|
427
|
-
> ship — now lives in the personal catalog below: `grill-with-docs`/`wayfinder` → `to-spec`
|
|
428
|
-
> (+ `write-adr` for decisions) → `superpowers:writing-plans` → `superpowers:executing-plans`, or
|
|
429
|
-
> `to-tickets` → `implement`, with `superpowers:systematic-debugging` for bugs and
|
|
430
|
-
> `superpowers:verification-before-completion` before calling anything done. This section keeps
|
|
426
|
+
> The actual spec-first chain lives in the personal catalog below, phase by phase. This section keeps
|
|
431
427
|
> the two skills that stay stack-agnostic in-phase regardless of which chain built the code:
|
|
432
428
|
> grounding an implementation or review in current version-specific docs, and simplifying working
|
|
433
429
|
> code without changing its behaviour.
|
|
@@ -523,17 +519,100 @@ Three engines + engine-agnostic disciplines. Every engine skill pins the current
|
|
|
523
519
|
|
|
524
520
|
[knowledge-ops](skills/knowledge-ops/) · [codebase-onboarding](skills/codebase-onboarding/) · [research-ops](skills/research-ops/) · [continuous-learning](skills/continuous-learning/) · [skill-scout](skills/skill-scout/) · [context-budget](skills/context-budget/) · [roast-me](skills/roast-me/) · [show-me](skills/show-me/) · [eli5](skills/eli5/) · [fable-operator](skills/fable-operator/)
|
|
525
521
|
|
|
526
|
-
### 🇪🇸 Personal catalog —
|
|
522
|
+
### 🇪🇸 Personal catalog — spec-driven development (Spanish)
|
|
527
523
|
|
|
528
|
-
The user's own 37-skill catalog,
|
|
529
|
-
|
|
530
|
-
|
|
524
|
+
The user's own 37-skill catalog, grouped by the phase of the cycle where each one is used.
|
|
525
|
+
The full guide, in Spanish, with one page per phase and a version for teaching: [`docs/skills/`](docs/skills/).
|
|
526
|
+
Bodies stay in Spanish; only each `description` was translated to English so Claude can still
|
|
527
|
+
decide when to fire them.
|
|
531
528
|
|
|
532
|
-
|
|
529
|
+
The source of truth is a written document, not a chat message. The chain, as the per-turn gate
|
|
530
|
+
routes it:
|
|
533
531
|
|
|
534
|
-
|
|
532
|
+

|
|
535
533
|
|
|
536
|
-
|
|
534
|
+
Always: `superpowers:test-driven-development` and `superpowers:verification-before-completion`.
|
|
535
|
+
Bugs start at `superpowers:systematic-debugging`.
|
|
536
|
+
|
|
537
|
+
#### 1 · Plan
|
|
538
|
+
|
|
539
|
+
Everything before code. What comes out is a spec and a plan, not an idea.
|
|
540
|
+
|
|
541
|
+

|
|
542
|
+
|
|
543
|
+
| Skill | What it does |
|
|
544
|
+
|---|---|
|
|
545
|
+
| [grill-with-docs](skills/grill-with-docs/) | Interrogates the plan and writes the glossary as it goes. The default way to ground an idea. |
|
|
546
|
+
| [wayfinder](skills/wayfinder/) | Only when the work does not fit one session: a map of decision tickets. |
|
|
547
|
+
| [to-spec](skills/to-spec/) | Turns the idea into a spec: what and why. `superpowers:brainstorming` is the alternative. |
|
|
548
|
+
| [write-adr](skills/write-adr/) | Records every hard-to-reverse decision under `docs/adr/`. |
|
|
549
|
+
| [research](skills/research/) | Investigates against primary sources and leaves the finding written and dated. |
|
|
550
|
+
| [to-questionnaire](skills/to-questionnaire/) | Turns a decision you cannot make alone into a questionnaire for whoever can. |
|
|
551
|
+
| [prototype](skills/prototype/) | A throwaway prototype to answer a design question. |
|
|
552
|
+
| [to-tickets](skills/to-tickets/) | Splits the work into one-sitting tickets. Used after `wayfinder`. |
|
|
553
|
+
| [claude-project-setup](skills/claude-project-setup/) | `CLAUDE.md`, rules, commands and agents. Once per repo. |
|
|
554
|
+
|
|
555
|
+
`grilling`, `grill-me` and `domain-modeling` are installed but rarely called by hand: they run
|
|
556
|
+
inside `grill-with-docs`.
|
|
557
|
+
[grilling](skills/grilling/) · [grill-me](skills/grill-me/) · [domain-modeling](skills/domain-modeling/)
|
|
558
|
+
|
|
559
|
+
#### 2 · Implement
|
|
560
|
+
|
|
561
|
+

|
|
562
|
+
|
|
563
|
+
| Skill | What it does |
|
|
564
|
+
|---|---|
|
|
565
|
+
| [implement](skills/implement/) | Builds one ticket from `to-tickets`. Ordinary work runs `superpowers:executing-plans` instead. |
|
|
566
|
+
|
|
567
|
+
#### 3 · Interface
|
|
568
|
+
|
|
569
|
+
When the work touches a screen. Sixteen overlapping skills; pick the one that matches the job.
|
|
570
|
+
|
|
571
|
+

|
|
572
|
+
|
|
573
|
+
| Skill | What it does |
|
|
574
|
+
|---|---|
|
|
575
|
+
| [ingeniero-diseno-web](skills/ingeniero-diseno-web/) | Runs the whole job: art direction, a declared design system, checkpoints and a scored critique. |
|
|
576
|
+
| [diseno-landing](skills/diseno-landing/) | A conversion landing end to end: structure, copy and a strict visual system. |
|
|
577
|
+
| [sitios-calidad-premio](skills/sitios-calidad-premio/) | Cinematic sites: GSAP, one smooth-scroll engine, Three.js only with a purpose. |
|
|
578
|
+
| [animar](skills/animar/) | Decides in order whether to animate, why, with what, which properties, curve and duration. |
|
|
579
|
+
| [diseno-apple](skills/diseno-apple/) | Fluid, physical motion: springs, interruptibility, velocity hand-off, materials. |
|
|
580
|
+
| [mejor-layout](skills/mejor-layout/) | Grouping, alignment, reading order, breakpoints, RTL. |
|
|
581
|
+
| [mejor-tipografia](skills/mejor-tipografia/) | Scale, line height, variable fonts, wrapping, truncation, punctuation. |
|
|
582
|
+
| [mejor-colores](skills/mejor-colores/) | Ramps, semantic tokens, measured contrast, dark mode. |
|
|
583
|
+
| [mejor-accesibilidad](skills/mejor-accesibilidad/) | Native before ARIA, focus, keyboard, hit areas, forms. |
|
|
584
|
+
| [mejor-ui](skills/mejor-ui/) | Concentric radii, optical alignment, surfaces, icon transitions. |
|
|
585
|
+
| [mejor-redaccion](skills/mejor-redaccion/) | Voice and tone, verb buttons, errors that say how to fix them, empty states. |
|
|
586
|
+
| [tastemaker](skills/tastemaker/) | UI that does not look AI-made: pixel-measured colour, generated palettes. |
|
|
587
|
+
| [leyes-de-percepcion](skills/leyes-de-percepcion/) | Gestalt for interfaces: proximity, similarity, figure-ground, hierarchy. |
|
|
588
|
+
| [leyes-de-retencion](skills/leyes-de-retencion/) | Why people abandon a flow: Hick, Fitts, Miller, Jakob, Doherty, peak-end. |
|
|
589
|
+
| [vocabulario-animacion](skills/vocabulario-animacion/) | Reverse glossary: turns "that thing that bounces" into the exact term. |
|
|
590
|
+
| [video-a-superprompt](skills/video-a-superprompt/) | Turns a reference video into a detailed recreation prompt. |
|
|
591
|
+
|
|
592
|
+
#### 4 · Review and close
|
|
593
|
+
|
|
594
|
+

|
|
595
|
+
|
|
596
|
+
| The work | Order |
|
|
597
|
+
|---|---|
|
|
598
|
+
| Did not touch a screen | `code-review` |
|
|
599
|
+
| Touched a screen | `revision-de-cambios` → `revision-interfaz` → `code-review` |
|
|
600
|
+
|
|
601
|
+
| Skill | What it does |
|
|
602
|
+
|---|---|
|
|
603
|
+
| [code-review](skills/code-review/) | Two axes in parallel: the repo's standards and the spec. |
|
|
604
|
+
| [revision-de-cambios](skills/revision-de-cambios/) | Reviews the change, reads the removed lines and classifies each finding. Only if it touched a screen. |
|
|
605
|
+
| [revision-interfaz](skills/revision-interfaz/) | Runs the six `mejor-*` skills as one report with a verdict. Only if it touched a screen. |
|
|
606
|
+
| [handoff](skills/handoff/) | Compacts the session into a handoff document. Optional. |
|
|
607
|
+
|
|
608
|
+
#### 9 · Other
|
|
609
|
+
|
|
610
|
+
| Skill | What it does |
|
|
611
|
+
|---|---|
|
|
612
|
+
| [teach](skills/teach/) | Teaching across sessions. |
|
|
613
|
+
| [muscle-memory](skills/muscle-memory/) | A Python kata gym. |
|
|
614
|
+
| [wait-what](skills/wait-what/) | Handbrake: stop and restate. |
|
|
615
|
+
| [writing-for-agents](skills/writing-for-agents/) | How to write documents an agent consumes. |
|
|
537
616
|
|
|
538
617
|
---
|
|
539
618
|
|
package/manifest.json
CHANGED
package/package.json
CHANGED
package/skills/suggest/SKILL.md
CHANGED
|
@@ -33,9 +33,11 @@ The shape of the chain:
|
|
|
33
33
|
|
|
34
34
|
- Still fuzzy, or an open question? Open with `grill-with-docs`; reach for `wayfinder` instead
|
|
35
35
|
when the effort will not fit one sitting.
|
|
36
|
-
- Once the shape is known, capture it as a spec,
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
- Once the shape is known, capture it as a spec, and give any call that would be costly to undo
|
|
37
|
+
its own ADR.
|
|
38
|
+
- Build from a written plan. Tickets are the exception: only work that grew out of the
|
|
39
|
+
wayfinding step is broken into them first.
|
|
40
|
+
- Review the finished change against the repo's standards and against the spec before merging.
|
|
39
41
|
|
|
40
42
|
Two exceptions, and say out loud when you take one:
|
|
41
43
|
|
|
@@ -53,9 +55,9 @@ whole run — advance through the phases without re-asking.
|
|
|
53
55
|
If a step's skill is not installed, offer to add it (§2) before routing. `implement` always
|
|
54
56
|
pairs with test-driven development and a verification pass before anything is called done.
|
|
55
57
|
|
|
56
|
-
Exact skill names and order: `grill-with-docs` or `wayfinder` -> `
|
|
57
|
-
|
|
58
|
-
`implement`. On Claude Code this rule also arrives as a per-turn hook; the brevity here is
|
|
58
|
+
Exact skill names and order: `grill-with-docs` or `wayfinder` -> `superpowers:brainstorming` or
|
|
59
|
+
`to-spec` (and `write-adr` for decisions) -> `superpowers:writing-plans` ->
|
|
60
|
+
`superpowers:executing-plans` (after `wayfinder`: `to-tickets` -> `implement`) -> `code-review`. On Claude Code this rule also arrives as a per-turn hook; the brevity here is
|
|
59
61
|
deduplication, not relaxation.
|
|
60
62
|
|
|
61
63
|
---
|
package/targets/_md-block.js
CHANGED
|
@@ -20,7 +20,7 @@ export function writeSkill(id, fromDir, toPath) {
|
|
|
20
20
|
export function wireHook(paths, sourceMd, policy = {}) {
|
|
21
21
|
const full = stripFrontmatter(readFileSync(sourceMd, 'utf8'));
|
|
22
22
|
const body = policy.codeHooks === false
|
|
23
|
-
? `# rsc-suggest — always-on operations layer\n\nRead \`docs/wiki/harness/user-profile.md\` before acting. If the user wants to build, add or change something, route it through \`grill-with-docs\` or \`wayfinder
|
|
23
|
+
? `# rsc-suggest — always-on operations layer\n\nRead \`docs/wiki/harness/user-profile.md\` before acting. If the user wants to build, add or change something, route it through \`grill-with-docs\` or \`wayfinder\`, then write the spec with \`superpowers:brainstorming\` or \`to-spec\` (decisions go to \`write-adr\`) before any code, then build it with \`superpowers:writing-plans\` (or \`to-tickets\` then \`implement\` when it came out of \`wayfinder\`), and review it with \`code-review\` before merging — unless it is a one-line change, typo, or config bump, which skips the chain. Use \`orient\` to keep the user situated and \`suggest\` to offer a missing skill only when the current task needs it. Close with the configured orientation block.\n`
|
|
24
24
|
: full;
|
|
25
25
|
const block = `${MARK_START}\n${body}\n${MARK_END}`;
|
|
26
26
|
let doc = existsSync(paths.hookTarget) ? readFileSync(paths.hookTarget, 'utf8') : '';
|
package/targets/hook-once.mjs
CHANGED
|
@@ -93,13 +93,13 @@ export const WORKFLOW_GATE_TEXT = `===== workflow gate (highest precedence) ====
|
|
|
93
93
|
Before acting on this turn: if the user wants to BUILD, ADD or CHANGE something — in ANY
|
|
94
94
|
language, judged by intent, not by keywords — route it through the chain below FIRST. No
|
|
95
95
|
feature code is written by ANY skill until the what is clear and the user has approved it.
|
|
96
|
-
1. Not clear yet? -> \`grill-with-docs\`
|
|
96
|
+
1. Not clear yet? -> \`grill-with-docs\` grounds a green idea or an open question; \`wayfinder\`
|
|
97
97
|
when the work is too large to hold in one session.
|
|
98
|
-
2. Clear? ->
|
|
99
|
-
which leaves its trail under docs/adr/.
|
|
100
|
-
3. Then build
|
|
101
|
-
\`
|
|
102
|
-
|
|
98
|
+
2. Clear? -> write the spec with \`superpowers:brainstorming\` or \`to-spec\`. Record every
|
|
99
|
+
hard-to-reverse call with \`write-adr\`, which leaves its trail under docs/adr/.
|
|
100
|
+
3. Then build: \`superpowers:writing-plans\` -> \`superpowers:executing-plans\`. Only work that
|
|
101
|
+
came out of \`wayfinder\` goes \`to-tickets\` -> \`implement\`, ticket by ticket.
|
|
102
|
+
4. Before merging: \`code-review\`, against the standards and against the spec.
|
|
103
103
|
Always: \`superpowers:test-driven-development\`, and \`superpowers:verification-before-completion\`
|
|
104
104
|
before calling anything done. Bugs enter through \`superpowers:systematic-debugging\`.
|
|
105
105
|
One-line change, typo, or config bump? -> skip the chain, do it, say so.
|