@ericrisco/rsc 0.1.44 → 0.1.46
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 +1 -1
- package/manifest.json +110 -86
- package/package.json +1 -1
- package/scripts/lib/domains.js +1 -1
- package/scripts/skill-migration-brief.md +192 -0
- package/skills/ab-testing/SKILL.md +9 -41
- package/skills/accessibility/SKILL.md +5 -7
- package/skills/ads/SKILL.md +9 -24
- package/skills/agent-eval/SKILL.md +7 -33
- package/skills/agent-safety/SKILL.md +7 -14
- package/skills/ai-media/SKILL.md +4 -20
- package/skills/analytics/SKILL.md +8 -30
- package/skills/analyze/SKILL.md +24 -59
- package/skills/angular/SKILL.md +12 -25
- package/skills/api-connector-builder/SKILL.md +10 -27
- package/skills/api-design/SKILL.md +7 -14
- package/skills/article-writing/SKILL.md +1 -18
- package/skills/astro/SKILL.md +36 -54
- package/skills/author-skill/SKILL.md +41 -74
- package/skills/author-skill/evals/README.md +5 -5
- package/skills/author-skill/evals/cases.yaml +8 -8
- package/skills/author-skill/references/description-recipe.md +25 -26
- package/skills/author-skill/references/eval-authoring.md +1 -1
- package/skills/author-skill/references/rsc-conventions.md +1 -1
- package/skills/automation-flows/SKILL.md +6 -16
- package/skills/automation-strategy/SKILL.md +1 -9
- package/skills/aws-essentials/SKILL.md +6 -23
- package/skills/backups/SKILL.md +1 -7
- package/skills/bash-scripting/SKILL.md +5 -9
- package/skills/bookkeeping/SKILL.md +2 -10
- package/skills/brand-identity/SKILL.md +18 -44
- package/skills/brand-voice/SKILL.md +4 -31
- package/skills/building-agents/SKILL.md +20 -103
- package/skills/business-intelligence/SKILL.md +9 -23
- package/skills/calendar-scheduling/SKILL.md +11 -27
- package/skills/case-studies/SKILL.md +3 -8
- package/skills/chatbot/SKILL.md +6 -23
- package/skills/chrome-extension/SKILL.md +2 -2
- package/skills/clarify/SKILL.md +31 -72
- package/skills/clickhouse-analytics/SKILL.md +2 -8
- package/skills/client-onboarding/SKILL.md +17 -19
- package/skills/cloudflare/SKILL.md +3 -8
- package/skills/code-review/SKILL.md +10 -23
- package/skills/codebase-onboarding/SKILL.md +2 -7
- package/skills/cold-outreach/SKILL.md +9 -30
- package/skills/community/SKILL.md +4 -31
- package/skills/competitor-watch/SKILL.md +20 -35
- package/skills/compliance/SKILL.md +10 -37
- package/skills/compose-multiplatform/SKILL.md +1 -1
- package/skills/constitution/SKILL.md +8 -35
- package/skills/content-engine/SKILL.md +4 -16
- package/skills/context-budget/SKILL.md +3 -21
- package/skills/continuous-learning/SKILL.md +10 -40
- package/skills/contracts/SKILL.md +6 -17
- package/skills/coolify/SKILL.md +8 -14
- package/skills/cost-tracking/SKILL.md +3 -11
- package/skills/course-builder/SKILL.md +17 -45
- package/skills/course-storytelling/SKILL.md +26 -94
- package/skills/cpp/SKILL.md +26 -71
- package/skills/csharp-dotnet/SKILL.md +19 -38
- package/skills/customer-support/SKILL.md +14 -37
- package/skills/dashboard/SKILL.md +6 -26
- package/skills/data-cleaning/SKILL.md +37 -63
- package/skills/data-policy/SKILL.md +8 -21
- package/skills/data-scraper/SKILL.md +1 -7
- package/skills/debug/SKILL.md +10 -49
- package/skills/deployment/SKILL.md +38 -101
- package/skills/design/SKILL.md +34 -116
- package/skills/fable-operator/SKILL.md +1 -4
- package/skills/fastapi/SKILL.md +50 -82
- package/skills/flutter/SKILL.md +41 -89
- package/skills/go/SKILL.md +57 -105
- package/skills/harness/SKILL.md +52 -68
- package/skills/implement/SKILL.md +1 -1
- package/skills/init/SKILL.md +152 -168
- package/skills/marketing/SKILL.md +30 -80
- package/skills/nextjs/SKILL.md +42 -116
- package/skills/orient/SKILL.md +25 -20
- package/skills/parallel/SKILL.md +9 -75
- package/skills/plan/SKILL.md +92 -165
- package/skills/postgresdb/SKILL.md +52 -72
- package/skills/presentations/SKILL.md +49 -87
- package/skills/python/SKILL.md +23 -72
- package/skills/react/SKILL.md +19 -67
- package/skills/review/SKILL.md +22 -52
- package/skills/rust/SKILL.md +40 -115
- package/skills/sdd-init/SKILL.md +9 -14
- package/skills/secure-coding/SKILL.md +80 -109
- package/skills/ship/SKILL.md +25 -55
- package/skills/tasks/SKILL.md +37 -61
- package/skills/typescript/SKILL.md +22 -55
- package/skills/verify/SKILL.md +8 -32
- package/skills/viral-score/SKILL.md +122 -0
- package/skills/viral-score/evals/README.md +16 -0
- package/skills/viral-score/evals/cases.yaml +50 -0
- package/skills/vue-nuxt/SKILL.md +45 -106
- package/skills/worktrees/SKILL.md +24 -69
package/skills/init/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init
|
|
3
|
-
description: "Use when starting from nothing or pointing
|
|
3
|
+
description: "Use when starting from nothing or pointing rsc at an existing project — the front door. Gauges technical level and the accompaniment dial first (non-technical by default), discovers what the user wants to build or govern (any stack, or a non-code harness: company/ops, research, knowledge, content), writes the profile to 02-DOCS, and installs the skills discovery justified. NOT the scaffolder (that is `harness`), NOT a stack skill."
|
|
4
4
|
tags: [init, bootstrap, start, new, setup]
|
|
5
5
|
recommends: [harness]
|
|
6
6
|
profiles: [minimal, core, full]
|
|
@@ -9,213 +9,197 @@ origin: risco
|
|
|
9
9
|
|
|
10
10
|
# init — the rsc-skills Front Door
|
|
11
11
|
|
|
12
|
-
*The very first thing you run. It meets the user where they are — assuming non-technical until told
|
|
12
|
+
*The very first thing you run. It meets the user where they are — assuming non-technical until told
|
|
13
|
+
otherwise — figures out what they actually want, installs the right skills, and hands off to
|
|
14
|
+
`harness` to build the workspace.*
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
Think of `init` as the receptionist: it learns who you are and what you need, writes that down where
|
|
17
|
+
every other skill can read it, and walks you to the right room. The boundary is fixed: **`init`
|
|
18
|
+
writes only the user-profile and decisions log under `02-DOCS/wiki/harness/`, plus the `CLAUDE.md`
|
|
19
|
+
Knowledge-map link.** Every other `01-TOOLS/` + `02-DOCS/` scaffold belongs to `harness`.
|
|
15
20
|
|
|
16
|
-
It is **domain-agnostic**. The thing being built or governed may be
|
|
21
|
+
It is **domain-agnostic**. The thing being built or governed may be software on any stack, or a
|
|
22
|
+
non-code harness — running a company, an ops desk, a research program, a knowledge base, a content
|
|
23
|
+
operation. No code required; the same structure governs it. Never assume "project" means "code".
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
- **A non-code harness** — running a company / operations, a research program, a personal knowledge base, or a content operation that connects to tools (email, calendar, CRM, docs, payments). No code required; the same `01-TOOLS/` + `02-DOCS/` structure governs it (scaffolded by the `harness` skill, not here).
|
|
25
|
+
## First contact: two values, set before anything else
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
The whole harness behaves differently depending on these two. Nothing — no discovery, no
|
|
28
|
+
recommendation — happens before the profile exists and `CLAUDE.md` links it.
|
|
22
29
|
|
|
23
|
-
|
|
30
|
+
**Step 1 — Gauge technical level.** Literally the first thing you say, before any discovery, framed
|
|
31
|
+
so nobody feels small. Ask once, in their language:
|
|
24
32
|
|
|
25
|
-
|
|
33
|
+
> "Antes de nada, para hablarte como te resulte más cómodo: ¿te manejas con código y términos
|
|
34
|
+
> técnicos, o prefieres que te lo explique todo en cristiano? No hay respuesta mala — solo me ayuda
|
|
35
|
+
> a no aburrirte ni perderte."
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
> "First, so I talk to you the right way: are you comfortable with code and technical terms, or
|
|
38
|
+
> would you rather I explain everything in plain language? There's no wrong answer — it just helps
|
|
39
|
+
> me not bore you or lose you."
|
|
28
40
|
|
|
29
|
-
|
|
41
|
+
Record `technical_level: non-technical | mixed | technical`. Until they say otherwise, assume
|
|
42
|
+
non-technical: plain language, analogies over acronyms.
|
|
30
43
|
|
|
31
|
-
|
|
44
|
+
**Step 2 — Set the accompaniment dial.** Present it and let them pick; describe the options, do not
|
|
45
|
+
just list letters.
|
|
32
46
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
A
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
4. **Log the decision** to `02-DOCS/wiki/harness/decisions.md` (append-only) once they pick.
|
|
91
|
-
|
|
92
|
-
Canonical deploy example (tailor the third option to the case):
|
|
93
|
-
|
|
94
|
-
1. **Hetzner VPS + Coolify** — cheapest, total control, but you self-manage the server (updates, backups, uptime).
|
|
95
|
-
2. **Vercel** — zero-ops, fully managed, scales itself; gets expensive at scale and locks you into its model.
|
|
96
|
-
3. **A third matched to the case** — Fly.io (run close to users, simple containers), Railway (managed, gentle learning curve), or a managed cloud (AWS/GCP) when compliance or an existing org demands it.
|
|
97
|
-
|
|
98
|
-
Full pattern, the requirements-gathering checklists per decision type, and the worked deploy example → `references/recommend-skills.md`.
|
|
47
|
+
| Level | What they get |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| L0 — cavernícola | Results, almost no explanation. One line of output; no questions beyond hard blockers. |
|
|
50
|
+
| L1 — breve | One line of *why* per step; questions only when genuinely ambiguous. |
|
|
51
|
+
| L2 — explica decisiones | Each relevant decision justified; asks before each significant one. |
|
|
52
|
+
| L3 — acompañamiento total | Explains everything, reasons out loud, asks a lot. Ideal for learning while building. |
|
|
53
|
+
|
|
54
|
+
Non-technical and silent → default **L3**. Technical and silent → **L1**. `technical_level` is an
|
|
55
|
+
orthogonal modifier: even at L0 a non-technical user gets plain phrasing; even at L3 a technical one
|
|
56
|
+
skips the 101s. Every rsc skill reads these two values and obeys them — L0 means *do it and stop
|
|
57
|
+
talking*. Full rules and file formats → `references/accompaniment-and-profile.md`.
|
|
58
|
+
|
|
59
|
+
**Step 3 — Persist immediately.** Before discovery, before any recommendation:
|
|
60
|
+
|
|
61
|
+
- `02-DOCS/wiki/harness/user-profile.md` — the living profile (levels, goals, context, constraints).
|
|
62
|
+
- `02-DOCS/wiki/harness/decisions.md` — append-only. Entries are never edited or deleted.
|
|
63
|
+
- Root `CLAUDE.md` → a **short** `## Knowledge map` pointer: those two read-first entries plus a
|
|
64
|
+
"full index → `02-DOCS/wiki/index.md`" line. Keep it tiny; it loads on every turn, and every other
|
|
65
|
+
index entry belongs in the wiki index. Create `CLAUDE.md` if absent, additive only — never delete
|
|
66
|
+
user content.
|
|
67
|
+
|
|
68
|
+
Greenfield? Create just `02-DOCS/wiki/harness/` to hold those two files. That plus the link is
|
|
69
|
+
everything `init` writes.
|
|
70
|
+
|
|
71
|
+
**Step 4 — Propose the developer model.** rsc installs a `developer` subagent (the implementation
|
|
72
|
+
worker) for every assistant supporting file-based agents. It runs at the **balanced** tier by
|
|
73
|
+
default — Sonnet on Anthropic tools, the provider's mid model elsewhere — and never the cheapest
|
|
74
|
+
`light` model, which is too weak to build with. Offer once, calibrated to the dial:
|
|
75
|
+
|
|
76
|
+
> *"La implementación la hará un sub-agente `developer`. ¿Qué modelo? **balanced / Sonnet** (rápido y
|
|
77
|
+
> económico — recomendado) o **heavy / Opus** (máxima calidad, más caro)."*
|
|
78
|
+
|
|
79
|
+
Record to `.rsc/developer.json` and re-run install/sync so the agent files adopt it. Skipped (e.g.
|
|
80
|
+
at L0) → `balanced`, which install also writes by default.
|
|
81
|
+
|
|
82
|
+
**Opt-out.** A fresh session auto-starts `init` while `user-profile.md` is absent. If the user does
|
|
83
|
+
not want a harness in this repo, write an empty `.rsc/.no-harness` — that silences the auto-start
|
|
84
|
+
permanently, even before a profile exists. Completing first contact silences it too. Commit the
|
|
85
|
+
marker so the decision is shared by the team.
|
|
86
|
+
|
|
87
|
+
## Significant decisions: requirements first, then exactly three options
|
|
88
|
+
|
|
89
|
+
For **any** significant decision — deploy target, database, framework, hosting, which CRM, where
|
|
90
|
+
documents live — never decide silently and never dump ten options.
|
|
91
|
+
|
|
92
|
+
1. **Gather the requirements that actually drive the choice.** For a deploy target: expected users,
|
|
93
|
+
concurrency, budget, data residency, the team's comfort operating servers, scaling needs. Match
|
|
94
|
+
the number of questions to the dial.
|
|
95
|
+
2. **Present exactly three options** with honest trade-offs: what each is good at, what it costs,
|
|
96
|
+
what it demands of them.
|
|
97
|
+
3. **Recommend one**, matched to their answers and their level, and say why in language they follow.
|
|
98
|
+
4. **Log it** to `decisions.md` once they pick.
|
|
99
|
+
|
|
100
|
+
Canonical deploy example — Hetzner VPS + Coolify (cheapest, total control, you self-manage), Vercel
|
|
101
|
+
(zero-ops, scales itself, expensive at scale), and a third matched to the case (Fly.io, Railway, or
|
|
102
|
+
a managed cloud when compliance demands it). Requirements checklists per decision type and the
|
|
103
|
+
worked example → `references/recommend-skills.md`.
|
|
99
104
|
|
|
100
105
|
## The flow
|
|
101
106
|
|
|
102
|
-
Run these phases in order. Phase 1 is mandatory and comes before everything.
|
|
103
|
-
|
|
104
107
|
```text
|
|
105
|
-
PROFILE → DISCOVER →
|
|
108
|
+
PROFILE → DISCOVER → INSTALL → GROUND → HANDOFF
|
|
106
109
|
```
|
|
107
110
|
|
|
108
111
|
### Phase 1 — PROFILE
|
|
109
112
|
|
|
110
|
-
|
|
113
|
+
Steps 1-3 above. Do not proceed until `user-profile.md` exists and `CLAUDE.md` links it. The
|
|
114
|
+
framing of every later question depends on it, which is why it cannot wait until after discovery.
|
|
111
115
|
|
|
112
116
|
### Phase 2 — DISCOVER
|
|
113
117
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
**Greenfield vs brownfield** — detect, don't ask blindly:
|
|
117
|
-
|
|
118
|
-
- **Brownfield** if the workspace has subproject manifests (`package.json`, `pyproject.toml`, `pubspec.yaml`, `go.mod`, `Cargo.toml`), source files, legacy `XX-*` folders, or an existing `01-TOOLS/` / `02-DOCS/`. Detect the stack and current state the way `harness` SCAN does (read-only walk; ignore `node_modules/`, `.venv/`, `.next/`, `.git/`, `dist/`, `build/`, `__pycache__/`, `.dart_tool/`). Summarize what you found and confirm with the user.
|
|
119
|
-
- **Greenfield** if the workspace is empty or has only stray notes. Then it's a brand-new idea — interview from zero.
|
|
120
|
-
|
|
121
|
-
**What they want to build OR govern** — establish the domain. Is it software (which surfaces: backend, frontend, mobile, agents)? Or a non-code harness (company/ops, research, personal knowledge, content)? Then capture goals, audience, constraints, and any tools/providers already in play.
|
|
118
|
+
Establish **the state of the ground** and **what they want**.
|
|
122
119
|
|
|
123
|
-
|
|
120
|
+
Detect greenfield vs brownfield; don't ask blindly. **Brownfield** if the workspace has subproject
|
|
121
|
+
manifests (`package.json`, `pyproject.toml`, `pubspec.yaml`, `go.mod`, `Cargo.toml`), source files,
|
|
122
|
+
legacy `XX-*` folders, or an existing `01-TOOLS/` / `02-DOCS/`. Detect the stack the way `harness`
|
|
123
|
+
SCAN does — a read-only walk ignoring `node_modules/`, `.venv/`, `.next/`, `.git/`, `dist/`,
|
|
124
|
+
`build/`, `__pycache__/`, `.dart_tool/`. Summarize what you found and confirm it. **Greenfield** if
|
|
125
|
+
the workspace is empty or holds only stray notes: interview from zero.
|
|
124
126
|
|
|
125
|
-
|
|
127
|
+
Then the domain. Software (backend, frontend, mobile, agents) or a non-code harness (company/ops,
|
|
128
|
+
research, knowledge, content)? Capture goals, audience, constraints, and any tools already in play.
|
|
129
|
+
Record to `02-DOCS/wiki/harness/` as you go. Questionnaires for both cases →
|
|
130
|
+
`references/discovery.md`. Ask in batches sized to the dial; never dump every question at once.
|
|
126
131
|
|
|
127
|
-
|
|
132
|
+
### Phase 3 — INSTALL
|
|
128
133
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
| Software backend | `fastapi` / `go`, `postgresdb` | The server, the database, the API. |
|
|
133
|
-
| Software frontend | `nextjs` / `flutter`, `design` | The web/mobile UI people see. |
|
|
134
|
-
| Marketing / landing / decks / teaching | `marketing`, `presentations`, `course-storytelling` | The words and slides. |
|
|
135
|
-
| AI agents | `building-agents` | Agent loops, tools, RAG. |
|
|
136
|
-
| Security & shipping / ops (incl. non-code company harness connecting tools) | `secure-coding`, `deployment` | Ship it safely and wire up external tools. |
|
|
134
|
+
Map what you learned to skills. **You have a terminal — install them yourself** after a one-word
|
|
135
|
+
confirm: `npx @ericrisco/rsc add <ids>`. Only if you genuinely cannot run a shell, hand the exact
|
|
136
|
+
command over for another tab. Never install without the confirm; it changes their environment.
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
Install only skills their answers justify — same discipline as "no speculative tools". Full skill map, sample printouts per scenario, and the requirements-first decision pattern → `references/recommend-skills.md`.
|
|
147
|
-
|
|
148
|
-
### Phase 3.5 — GROUND THE PROJECT (git · live docs · skill audit)
|
|
149
|
-
|
|
150
|
-
Three quick, enforced setup checks once the skills are installed. The SessionStart hook nudges each
|
|
151
|
-
of these too; doing them here means the user starts clean.
|
|
152
|
-
|
|
153
|
-
1. **Version control is required.** If the workspace has no `.git/`, offer `git init` (recommended —
|
|
154
|
-
the SDD chain and the ship guard assume git). If the user declines, write an empty `.rsc/.no-git`
|
|
155
|
-
so the decision is persisted and neither you nor the hook asks again. Log the decision.
|
|
156
|
-
2. **Offer Context7 (live library docs).** For a software project, offer to wire the Context7 MCP
|
|
157
|
-
once: `claude mcp add --transport http context7 https://mcp.context7.com/mcp`. If they don't want
|
|
158
|
-
it, write `.rsc/.no-context7`. (It gives version-correct docs instead of guessing from memory.)
|
|
159
|
-
3. **Run a skill audit.** After installing, run `npx @ericrisco/rsc audit`. It inventories the skills
|
|
160
|
-
installed for this project and on the machine, and flags possible overlap or skills with no
|
|
161
|
-
footprint here — so the project starts with the right set, not a pile. It re-runs on a cadence via
|
|
162
|
-
the SessionStart nudge. Summarize the result at the user's accompaniment level.
|
|
163
|
-
4. **Danger guard follows `technical_level`.** When you record `technical_level: non-technical` (or
|
|
164
|
-
`mixed`, or while no profile exists yet), a `PreToolUse` guard (`.rsc/danger-guard.mjs`) **blocks**
|
|
165
|
-
irreversible foot-gun commands (`rm -rf`, `git push --force`, `git reset --hard`, `DROP`/`TRUNCATE`,
|
|
166
|
-
`DELETE`/`UPDATE` with no `WHERE`, `dd` to a device, `curl | bash`, …) and asks for a safer
|
|
167
|
-
alternative. A fully `technical` user is never guarded. It only turns off if the **user explicitly
|
|
168
|
-
asks** to allow dangerous commands — then write `.rsc/.no-danger-guard`. Mention this protection
|
|
169
|
-
exists when you set a non-technical level so the user is not surprised by a block.
|
|
138
|
+
| Need | Skills |
|
|
139
|
+
| --- | --- |
|
|
140
|
+
| Always | `harness` — the control plane that scaffolds and governs the workspace |
|
|
141
|
+
| Software backend | `fastapi` / `go`, `postgresdb` |
|
|
142
|
+
| Software frontend | `nextjs` / `flutter`, `design` |
|
|
143
|
+
| Marketing / landing / decks / teaching | `marketing`, `presentations`, `course-storytelling` |
|
|
144
|
+
| AI agents | `building-agents` |
|
|
145
|
+
| Shipping, security, wiring external tools | `secure-coding`, `deployment` |
|
|
170
146
|
|
|
171
|
-
|
|
147
|
+
Show the shortlist with a one-line *why* per skill in their language, confirm, install. Recommend
|
|
148
|
+
only what discovery justified — no "you'll probably want agents too".
|
|
172
149
|
|
|
173
|
-
|
|
150
|
+
Then flag activation, matched to their IDE: *"Listo, instaladas. Para que se activen, abre una
|
|
151
|
+
pestaña/sesión nueva de Claude Code (o recarga Cursor/Codex/Gemini) en esta carpeta — las skills se
|
|
152
|
+
cargan al arrancar la sesión."* Full skill map and sample printouts → `references/recommend-skills.md`.
|
|
174
153
|
|
|
175
|
-
|
|
154
|
+
### Phase 4 — GROUND
|
|
176
155
|
|
|
177
|
-
|
|
156
|
+
Four checks once the skills are in. The SessionStart hook nudges each of these too; doing them here
|
|
157
|
+
means the user starts clean.
|
|
178
158
|
|
|
179
|
-
1. **
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
159
|
+
1. **Version control.** No `.git/` → offer `git init`; the SDD chain and the ship guard assume it.
|
|
160
|
+
Declined → write `.rsc/.no-git` so neither you nor the hook asks again, and log the decision.
|
|
161
|
+
2. **Context7 (live library docs).** For software, offer to wire it once:
|
|
162
|
+
`claude mcp add --transport http context7 https://mcp.context7.com/mcp`. It gives version-correct
|
|
163
|
+
docs instead of guessing from memory. Declined → `.rsc/.no-context7`.
|
|
164
|
+
3. **Skill audit.** Run `npx @ericrisco/rsc audit`. It inventories what is installed here and on the
|
|
165
|
+
machine and flags overlap or skills with no footprint, so the project starts with the right set
|
|
166
|
+
rather than a pile. Summarize at their level.
|
|
167
|
+
4. **Tell them about the danger guard.** A `technical_level` of `non-technical` or `mixed` (and the
|
|
168
|
+
state before any profile exists) turns on a `PreToolUse` guard that blocks irreversible commands —
|
|
169
|
+
`rm -rf`, `git push --force`, `git reset --hard`, `DROP`/`TRUNCATE`, `DELETE`/`UPDATE` with no
|
|
170
|
+
`WHERE`, `dd` to a device, `curl | bash` — and asks for a safer alternative. A fully `technical`
|
|
171
|
+
user is never guarded. It turns off only if the user explicitly asks: `.rsc/.no-danger-guard`.
|
|
172
|
+
Mention it when you set a non-technical level, so a later block is not a surprise.
|
|
189
173
|
|
|
190
|
-
|
|
174
|
+
### Phase 5 — HANDOFF
|
|
191
175
|
|
|
192
|
-
|
|
176
|
+
`init` stops here. It has set the profile, recorded the discovery, and installed the skills.
|
|
193
177
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
| "They sound technical, I'll skip the level question" | No. The level question is the first thing, always. Ask it. |
|
|
197
|
-
| "I'll just pick Vercel, it's obviously best" | No. Gather requirements, present 3, recommend with reasons, log it. |
|
|
198
|
-
| "I'll recommend every skill to be safe" | No. Recommend only what discovery justified. |
|
|
199
|
-
| "I'll scaffold 01-TOOLS now while I'm here" | No. That's the `harness` skill. `init` profiles and hands off. |
|
|
200
|
-
| "The profile can wait until after discovery" | No. Profile first — every later question's framing depends on it. |
|
|
201
|
-
| "This is a company, not code, so the harness doesn't apply" | No. Domain-agnostic. A non-code harness uses the same structure. |
|
|
202
|
-
| "I'll install the skills for them" | No. A skill can't install. Print the `npx @ericrisco/rsc add` commands. |
|
|
203
|
-
| "They said 'ok', that's enough to pick the database" | No. A significant decision needs the 3-option pattern and a log entry. |
|
|
178
|
+
> "Tu perfil y lo que hemos hablado ya están guardados. Ahora ejecuta `harness` y monto el esqueleto
|
|
179
|
+
> del proyecto (`01-TOOLS/` + `02-DOCS/`) leyendo todo lo que acabamos de decidir."
|
|
204
180
|
|
|
205
|
-
|
|
181
|
+
Do not scaffold while you are here, however tempting — `harness` reads this same profile and owns
|
|
182
|
+
that job.
|
|
206
183
|
|
|
207
|
-
|
|
184
|
+
## Project grounding
|
|
208
185
|
|
|
209
|
-
|
|
186
|
+
`init`'s record is the profile plus the append-only decisions log, both written in Phase 1 and
|
|
187
|
+
updated throughout, and both kept in the short `## Knowledge map` pointer because they are the
|
|
188
|
+
read-first entries. `scripts/verify.sh` checks the profile and the link exist (read-only; warns,
|
|
189
|
+
never fails).
|
|
210
190
|
|
|
211
191
|
## See Also
|
|
212
192
|
|
|
213
|
-
- `harness` — the scaffolder this
|
|
214
|
-
- `deployment` — invoked
|
|
215
|
-
- `secure-coding` —
|
|
216
|
-
- Stack skills (`fastapi`, `go`, `nextjs`, `flutter`, `building-agents
|
|
217
|
-
|
|
193
|
+
- `harness` — the scaffolder this hands off to; builds `01-TOOLS/` + `02-DOCS/` from the profile.
|
|
194
|
+
- `deployment` — invoked when the deploy decision above is actually made.
|
|
195
|
+
- `secure-coding` — recommended whenever software is being shipped.
|
|
196
|
+
- Stack skills (`fastapi`, `go`, `nextjs`, `flutter`, `building-agents`…) are recommended at runtime
|
|
197
|
+
by Phase 3 from discovery, never hardwired here.
|
|
198
|
+
- References: `references/accompaniment-and-profile.md`, `references/discovery.md`,
|
|
199
|
+
`references/recommend-skills.md`.
|
|
218
200
|
|
|
219
201
|
## Orientación (siempre)
|
|
220
202
|
|
|
221
|
-
Cierra cada turno con el **bloque-brújula** (📍 dónde estás · ✅ qué hiciste · 🧭 por qué · ➡️ siguiente,
|
|
203
|
+
Cierra cada turno con el **bloque-brújula** (📍 dónde estás · ✅ qué hiciste · 🧭 por qué · ➡️ siguiente,
|
|
204
|
+
terminando en pregunta), calibrado al dial de `02-DOCS/wiki/harness/user-profile.md`. Nunca termines
|
|
205
|
+
en seco. Protocolo completo: skill `orient` → `skills/orient/references/orientation-contract.md`.
|