@ericrisco/rsc 0.1.7 → 0.1.8
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/manifest.json +4 -4
- package/package.json +1 -1
- package/skills/author-skill/SKILL.md +1 -1
- package/skills/author-skill/references/rsc-conventions.md +2 -2
- package/skills/harness/SKILL.md +12 -0
- package/skills/implement/SKILL.md +1 -1
- package/skills/init/SKILL.md +12 -10
- package/skills/init/evals/cases.yaml +1 -1
- package/skills/init/references/recommend-skills.md +15 -15
- package/skills/orient/evals/cases.yaml +1 -1
- package/skills/sdd-init/SKILL.md +15 -2
- package/skills/sdd-init/evals/cases.yaml +1 -1
- package/skills/suggest/SKILL.md +5 -5
- package/skills/suggest/evals/README.md +2 -2
- package/skills/suggest/evals/cases.yaml +4 -4
package/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.8",
|
|
3
3
|
"counts": {
|
|
4
4
|
"skills": 231
|
|
5
5
|
},
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
},
|
|
280
280
|
{
|
|
281
281
|
"id": "author-skill",
|
|
282
|
-
"description": "Use when authoring a NEW skill or editing an existing one for the rsc catalog — writing or fixing a SKILL.md, crafting a trigger-rich third-person description that fires on the right prompts, deciding what goes in references/ vs the body, writing evals/cases.yaml + evals/README.md, or wiring a skill into the catalog (tags, recommends, manifest). Triggers: 'write a skill', 'author a skill', 'create a new skill', 'escribe una skill', 'haz una skill nueva', 'edit this skill', 'improve this skill', 'my skill never triggers', 'my skill always fires', 'fix the description', 'the frontmatter is invalid', 'write evals for this skill', 'add this skill to the catalog', 'audit this skill against the rubric', 'progressive disclosure', 'SKILL.md too long'. Knows the rsc conventions: hybrid layout, tags/recommends frontmatter, manifest.json, the npx rsc CLI, the Knowledge map. NOT building runtime features (that is the SDD chain) and NOT general docs.",
|
|
282
|
+
"description": "Use when authoring a NEW skill or editing an existing one for the rsc catalog — writing or fixing a SKILL.md, crafting a trigger-rich third-person description that fires on the right prompts, deciding what goes in references/ vs the body, writing evals/cases.yaml + evals/README.md, or wiring a skill into the catalog (tags, recommends, manifest). Triggers: 'write a skill', 'author a skill', 'create a new skill', 'escribe una skill', 'haz una skill nueva', 'edit this skill', 'improve this skill', 'my skill never triggers', 'my skill always fires', 'fix the description', 'the frontmatter is invalid', 'write evals for this skill', 'add this skill to the catalog', 'audit this skill against the rubric', 'progressive disclosure', 'SKILL.md too long'. Knows the rsc conventions: hybrid layout, tags/recommends frontmatter, manifest.json, the npx @ericrisco/rsc CLI, the Knowledge map. NOT building runtime features (that is the SDD chain) and NOT general docs.",
|
|
283
283
|
"tags": [
|
|
284
284
|
"skill",
|
|
285
285
|
"authoring",
|
|
@@ -2017,7 +2017,7 @@
|
|
|
2017
2017
|
},
|
|
2018
2018
|
{
|
|
2019
2019
|
"id": "init",
|
|
2020
|
-
"description": "Use when starting from nothing or pointing the rsc-skills harness at an existing project — the front door / bootstrapper. It gauges the user's technical level FIRST (non-technical by default), sets an explanation/accompaniment dial, then discovers what they want to build OR govern (any software stack, OR a non-code harness: running a company/ops, research, personal knowledge, content). It detects greenfield vs brownfield, profiles the user into 02-DOCS, RECOMMENDS which rsc skills to install (printing the exact `npx rsc add` commands), and hands off to the harness skill to scaffold 01-TOOLS + 02-DOCS. Triggers: 'empezar de cero', 'no sé por dónde empezar', 'start a new project', 'bootstrap', 'set up the harness', 'monta el proyecto', 'quiero montar una empresa/ops/wiki con esto', 'arranca', 'init'. NOT the scaffolder itself (that's the harness skill) and NOT a specific stack skill.",
|
|
2020
|
+
"description": "Use when starting from nothing or pointing the rsc-skills harness at an existing project — the front door / bootstrapper. It gauges the user's technical level FIRST (non-technical by default), sets an explanation/accompaniment dial, then discovers what they want to build OR govern (any software stack, OR a non-code harness: running a company/ops, research, personal knowledge, content). It detects greenfield vs brownfield, profiles the user into 02-DOCS, RECOMMENDS which rsc skills to install (printing the exact `npx @ericrisco/rsc add` commands), and hands off to the harness skill to scaffold 01-TOOLS + 02-DOCS. Triggers: 'empezar de cero', 'no sé por dónde empezar', 'start a new project', 'bootstrap', 'set up the harness', 'monta el proyecto', 'quiero montar una empresa/ops/wiki con esto', 'arranca', 'init'. NOT the scaffolder itself (that's the harness skill) and NOT a specific stack skill.",
|
|
2021
2021
|
"tags": [
|
|
2022
2022
|
"init",
|
|
2023
2023
|
"bootstrap",
|
|
@@ -4112,7 +4112,7 @@
|
|
|
4112
4112
|
},
|
|
4113
4113
|
{
|
|
4114
4114
|
"id": "suggest",
|
|
4115
|
-
"description": "Always-on. Use whenever the current task would clearly benefit from an rsc skill that is not yet installed — detect the gap, name the skill, and (with a one-word confirm) install it via `npx rsc add <id>`. Triggers on any task that maps to a known rsc capability the session lacks: building a web/app/API, a database, security, deployment, agents, content, or connecting/documenting a company.",
|
|
4115
|
+
"description": "Always-on. Use whenever the current task would clearly benefit from an rsc skill that is not yet installed — detect the gap, name the skill, and (with a one-word confirm) install it via `npx @ericrisco/rsc add <id>`. Triggers on any task that maps to a known rsc capability the session lacks: building a web/app/API, a database, security, deployment, agents, content, or connecting/documenting a company.",
|
|
4116
4116
|
"tags": [
|
|
4117
4117
|
"suggest",
|
|
4118
4118
|
"detect",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: author-skill
|
|
3
|
-
description: "Use when authoring a NEW skill or editing an existing one for the rsc catalog — writing or fixing a SKILL.md, crafting a trigger-rich third-person description that fires on the right prompts, deciding what goes in references/ vs the body, writing evals/cases.yaml + evals/README.md, or wiring a skill into the catalog (tags, recommends, manifest). Triggers: 'write a skill', 'author a skill', 'create a new skill', 'escribe una skill', 'haz una skill nueva', 'edit this skill', 'improve this skill', 'my skill never triggers', 'my skill always fires', 'fix the description', 'the frontmatter is invalid', 'write evals for this skill', 'add this skill to the catalog', 'audit this skill against the rubric', 'progressive disclosure', 'SKILL.md too long'. Knows the rsc conventions: hybrid layout, tags/recommends frontmatter, manifest.json, the npx rsc CLI, the Knowledge map. NOT building runtime features (that is the SDD chain) and NOT general docs."
|
|
3
|
+
description: "Use when authoring a NEW skill or editing an existing one for the rsc catalog — writing or fixing a SKILL.md, crafting a trigger-rich third-person description that fires on the right prompts, deciding what goes in references/ vs the body, writing evals/cases.yaml + evals/README.md, or wiring a skill into the catalog (tags, recommends, manifest). Triggers: 'write a skill', 'author a skill', 'create a new skill', 'escribe una skill', 'haz una skill nueva', 'edit this skill', 'improve this skill', 'my skill never triggers', 'my skill always fires', 'fix the description', 'the frontmatter is invalid', 'write evals for this skill', 'add this skill to the catalog', 'audit this skill against the rubric', 'progressive disclosure', 'SKILL.md too long'. Knows the rsc conventions: hybrid layout, tags/recommends frontmatter, manifest.json, the npx @ericrisco/rsc CLI, the Knowledge map. NOT building runtime features (that is the SDD chain) and NOT general docs."
|
|
4
4
|
tags: [skill, authoring, meta]
|
|
5
5
|
recommends: []
|
|
6
6
|
origin: risco
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A skill is not done when `SKILL.md` reads well. It is done when it is *in the
|
|
4
4
|
catalog* — frontmatter valid, indexed in the manifest, discoverable by the
|
|
5
|
-
`npx rsc` recommender, and reachable where the agent will find it. This reference
|
|
5
|
+
`npx @ericrisco/rsc` recommender, and reachable where the agent will find it. This reference
|
|
6
6
|
is the rsc plumbing.
|
|
7
7
|
|
|
8
8
|
## The layout (single source of truth)
|
|
@@ -52,7 +52,7 @@ profiles: [core, full] # optional: named-profile membership
|
|
|
52
52
|
There are no bundles and no `/<bundle>:<id>` namespacing. A skill installs under
|
|
53
53
|
the target's rsc namespace (e.g. `~/.claude/skills/rsc/<id>/`) and is invoked by
|
|
54
54
|
its `name`. The `suggest` detector is always installed (the floor) and proposes
|
|
55
|
-
installing any skill a task needs via `npx rsc add <id>`.
|
|
55
|
+
installing any skill a task needs via `npx @ericrisco/rsc add <id>`.
|
|
56
56
|
|
|
57
57
|
## Wiring steps for a new skill
|
|
58
58
|
|
package/skills/harness/SKILL.md
CHANGED
|
@@ -259,6 +259,18 @@ Print a final report:
|
|
|
259
259
|
- `01-TOOLS/<X>/test_connection.{sh,py}` once `.env` is filled.
|
|
260
260
|
- Any subproject with a dirty git tree to clean up.
|
|
261
261
|
|
|
262
|
+
## Equip — install the skills this workspace needs
|
|
263
|
+
|
|
264
|
+
Once the structure stands, make sure the workspace has the rsc skills its stack and goals call for — detection here, not just at `init`:
|
|
265
|
+
|
|
266
|
+
1. **Detect → propose.** From the detected stacks/providers and the user's goals in `02-DOCS/wiki/harness/`, build a shortlist. Ask the CLI if unsure: `npx @ericrisco/rsc consult "<stack + goal>"`. (Map e.g. detected Stripe→`stripe`, Postgres→`postgresdb`, Next→`nextjs`+`design`, a company/ops focus→`finance-ops`/`invoicing`/`gdpr-privacy`…)
|
|
267
|
+
2. **Confirm, then install yourself.** Show the shortlist with a one-line *why* each (matched to the dial), get a one-word confirm, and run it via Bash — installing writes to their environment, so always confirm first:
|
|
268
|
+
```bash
|
|
269
|
+
npx @ericrisco/rsc add <skill> [<skill> ...]
|
|
270
|
+
```
|
|
271
|
+
Can't run a shell? Print the exact command for another terminal tab.
|
|
272
|
+
3. **Flag the new session.** New skills load at session start — tell the user to open a **new tab/session** (or reload Cursor/Codex/Gemini) in this folder for them to activate. Log the installed set in `02-DOCS/wiki/harness/decisions.md`.
|
|
273
|
+
|
|
262
274
|
## Iron rules (non-negotiable)
|
|
263
275
|
|
|
264
276
|
These rules cut across every phase. Violating any one of them aborts the run.
|
|
@@ -41,7 +41,7 @@ back — you do not write feature code anyway.
|
|
|
41
41
|
`sdd.registry_path`. Do not choose a different test command from memory while config exists.
|
|
42
42
|
3. **Read the skill registry.** Open `.rsc/skill-registry.json` if present. Select only the
|
|
43
43
|
relevant stack/process skills for this task, then digest them into compact rules. If the
|
|
44
|
-
registry is missing, run or recommend `npx rsc registry refresh` and record the fallback.
|
|
44
|
+
registry is missing, run or recommend `npx @ericrisco/rsc registry refresh` and record the fallback.
|
|
45
45
|
4. **Read the accompaniment dial.** Open `02-DOCS/wiki/harness/user-profile.md` and read the
|
|
46
46
|
technical + accompaniment level. It sets how loud you are at each checkpoint (see the dial table
|
|
47
47
|
below). No profile yet → assume non-technical, narrate more, and ask before any irreversible step.
|
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 the rsc-skills harness at an existing project — the front door / bootstrapper. It gauges the user's technical level FIRST (non-technical by default), sets an explanation/accompaniment dial, then discovers what they want to build OR govern (any software stack, OR a non-code harness: running a company/ops, research, personal knowledge, content). It detects greenfield vs brownfield, profiles the user into 02-DOCS, RECOMMENDS which rsc skills to install (printing the exact `npx rsc add` commands), and hands off to the harness skill to scaffold 01-TOOLS + 02-DOCS. Triggers: 'empezar de cero', 'no sé por dónde empezar', 'start a new project', 'bootstrap', 'set up the harness', 'monta el proyecto', 'quiero montar una empresa/ops/wiki con esto', 'arranca', 'init'. NOT the scaffolder itself (that's the harness skill) and NOT a specific stack skill."
|
|
3
|
+
description: "Use when starting from nothing or pointing the rsc-skills harness at an existing project — the front door / bootstrapper. It gauges the user's technical level FIRST (non-technical by default), sets an explanation/accompaniment dial, then discovers what they want to build OR govern (any software stack, OR a non-code harness: running a company/ops, research, personal knowledge, content). It detects greenfield vs brownfield, profiles the user into 02-DOCS, RECOMMENDS which rsc skills to install (printing the exact `npx @ericrisco/rsc add` commands), and hands off to the harness skill to scaffold 01-TOOLS + 02-DOCS. Triggers: 'empezar de cero', 'no sé por dónde empezar', 'start a new project', 'bootstrap', 'set up the harness', 'monta el proyecto', 'quiero montar una empresa/ops/wiki con esto', 'arranca', 'init'. NOT the scaffolder itself (that's the harness skill) and NOT a specific stack skill."
|
|
4
4
|
tags: [init, bootstrap, start, new, setup]
|
|
5
5
|
recommends: [harness]
|
|
6
6
|
profiles: [minimal, core, full]
|
|
@@ -110,9 +110,9 @@ Figure out two things: **the state of the ground** and **what they want**.
|
|
|
110
110
|
|
|
111
111
|
Record everything to `02-DOCS/wiki/harness/` as you go. Use the greenfield and brownfield questionnaires (for software AND non-code harnesses) in `references/discovery.md`. Ask in batches sized to the accompaniment level — never dump every question at once.
|
|
112
112
|
|
|
113
|
-
### Phase 3 —
|
|
113
|
+
### Phase 3 — DETECT & INSTALL
|
|
114
114
|
|
|
115
|
-
Map what you learned to individual rsc skills
|
|
115
|
+
Map what you learned to individual rsc skills. **You have a terminal — install them yourself.** After a one-word confirm, run `npx @ericrisco/rsc add <ids>` via Bash. (If you genuinely cannot run a shell, print the exact command and tell the user to paste it in another terminal tab.) Then tell them the **new skills activate in a fresh session/tab** — see the install note below the table. Skill map:
|
|
116
116
|
|
|
117
117
|
| Need | Skills | Why (one line, matched to level) |
|
|
118
118
|
| --- | --- | --- |
|
|
@@ -123,19 +123,21 @@ Map what you learned to individual rsc skills and **print the exact `npx rsc add
|
|
|
123
123
|
| AI agents | `building-agents` | Agent loops, tools, RAG. |
|
|
124
124
|
| Security & shipping / ops (incl. non-code company harness connecting tools) | `secure-coding`, `deployment` | Ship it safely and wire up external tools. |
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
Show the shortlist with a one-line *why* per skill (language matched to the user's level), get a one-word confirm, then install:
|
|
127
127
|
|
|
128
128
|
```text
|
|
129
|
-
npx rsc add <skill> [<skill> ...]
|
|
129
|
+
npx @ericrisco/rsc add <skill> [<skill> ...]
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
> **After installing, say this (matched to their IDE):** "Listo, instaladas. Para que se activen, abre una **pestaña/sesión nueva** de Claude Code (o recarga Cursor/Codex/Gemini) en esta carpeta — las skills se cargan al arrancar la sesión." If you couldn't run the command yourself, give it to them to run in another terminal tab, then the same new-session note.
|
|
133
|
+
|
|
134
|
+
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`.
|
|
133
135
|
|
|
134
136
|
### Phase 4 — HANDOFF
|
|
135
137
|
|
|
136
|
-
Tell the user to install `harness` (`npx rsc add harness`) and then run the **`harness`** skill to actually scaffold the `01-TOOLS/` + `02-DOCS/` workspace. `init` stops here — it has set the profile, recorded the discovery, and recommended the skills. `harness` reads the profile and builds the structure.
|
|
138
|
+
Tell the user to install `harness` (`npx @ericrisco/rsc add harness`) and then run the **`harness`** skill to actually scaffold the `01-TOOLS/` + `02-DOCS/` workspace. `init` stops here — it has set the profile, recorded the discovery, and recommended the skills. `harness` reads the profile and builds the structure.
|
|
137
139
|
|
|
138
|
-
> "Tu perfil y lo que hemos hablado ya están guardados. Cuando hayas instalado las skills de arriba (`npx rsc add …`), ejecuta `harness` y monto el esqueleto del proyecto (`01-TOOLS/` + `02-DOCS/`) leyendo todo lo que acabamos de decidir."
|
|
140
|
+
> "Tu perfil y lo que hemos hablado ya están guardados. Cuando hayas instalado las skills de arriba (`npx @ericrisco/rsc add …`), ejecuta `harness` y monto el esqueleto del proyecto (`01-TOOLS/` + `02-DOCS/`) leyendo todo lo que acabamos de decidir."
|
|
139
141
|
|
|
140
142
|
## Iron rules (non-negotiable)
|
|
141
143
|
|
|
@@ -143,7 +145,7 @@ Tell the user to install `harness` (`npx rsc add harness`) and then run the **`h
|
|
|
143
145
|
2. **Non-technical by default.** Plain language until told otherwise. Never assume the user reads code.
|
|
144
146
|
3. **The dial governs verbosity AND question count.** Read it, obey it, in this skill and every skill downstream. L0 means *do it and stop talking*; L3 means *explain everything and ask*.
|
|
145
147
|
4. **Three options, requirements first.** For any significant decision: gather the driving requirements, present exactly 3 options with honest trade-offs, recommend one, log it.
|
|
146
|
-
5. **
|
|
148
|
+
5. **Install with consent, then flag the new session.** You have a terminal: after a one-word confirm, run `npx @ericrisco/rsc add …` yourself. Newly installed skills load at the START of a session, so tell the user to open a **new tab/session** (or reload) for them to activate. If you cannot run a shell, hand them the exact command for another tab — never install without a confirm.
|
|
147
149
|
6. **No speculative skills.** Recommend a skill only if the discovery justified it. No "you'll probably want agents too".
|
|
148
150
|
7. **Persist as you learn.** Goals, context, constraints, decisions go to `02-DOCS/wiki/harness/` continuously — `user-profile.md` for state, `decisions.md` append-only for choices.
|
|
149
151
|
8. **`init` writes only the profile + the link.** It writes ONLY the user-profile + decisions log under `02-DOCS/wiki/harness/` and the `CLAUDE.md` Knowledge-map link. ALL other `01-TOOLS/` + `02-DOCS/` scaffolding is the `harness` skill's job. Hand off; do not do its job.
|
|
@@ -162,7 +164,7 @@ These thoughts mean the skill is about to break its own rules. Recognize and abo
|
|
|
162
164
|
| "I'll scaffold 01-TOOLS now while I'm here" | No. That's the `harness` skill. `init` profiles and hands off. |
|
|
163
165
|
| "The profile can wait until after discovery" | No. Profile first — every later question's framing depends on it. |
|
|
164
166
|
| "This is a company, not code, so the harness doesn't apply" | No. Domain-agnostic. A non-code harness uses the same structure. |
|
|
165
|
-
| "I'll install the skills for them" | No. A skill can't install. Print the `npx rsc add` commands. |
|
|
167
|
+
| "I'll install the skills for them" | No. A skill can't install. Print the `npx @ericrisco/rsc add` commands. |
|
|
166
168
|
| "They said 'ok', that's enough to pick the database" | No. A significant decision needs the 3-option pattern and a log entry. |
|
|
167
169
|
|
|
168
170
|
## Project grounding (02-DOCS + CLAUDE.md)
|
|
@@ -60,7 +60,7 @@ capability:
|
|
|
60
60
|
- "Presents the accompaniment dial L0–L3 and, given a silent non-technical user, defaults to L3 (full accompaniment)"
|
|
61
61
|
- "Persists the profile to 02-DOCS/wiki/harness/user-profile.md and an append-only 02-DOCS/wiki/harness/decisions.md, and links both from a ## Knowledge map section in root CLAUDE.md (creating CLAUDE.md if absent, additive only)"
|
|
62
62
|
- "Detects greenfield vs brownfield rather than assuming, and runs DISCOVER (goals, audience, constraints, surfaces) before recommending"
|
|
63
|
-
- "Recommends specific rsc skills matched to discovery (at minimum harness; nextjs/flutter + design if app surfaces justify it) and PRINTS the exact install commands (npx rsc add <skill> ...)"
|
|
63
|
+
- "Recommends specific rsc skills matched to discovery (at minimum harness; nextjs/flutter + design if app surfaces justify it) and PRINTS the exact install commands (npx @ericrisco/rsc add <skill> ...)"
|
|
64
64
|
- "Does NOT install anything itself and does NOT scaffold 01-TOOLS/02-DOCS — it hands off to the harness skill as the final step"
|
|
65
65
|
- "Does not recommend speculative skills (e.g. building-agents) unless discovery justified them"
|
|
66
66
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Recommend Skills — the skill map, sample printouts & the "siempre 3 opciones" pattern
|
|
2
2
|
|
|
3
3
|
Phase 3 detail. Map discovery to individual rsc skills, print the exact
|
|
4
|
-
`npx rsc add` commands, and run the requirements-first 3-option decision pattern
|
|
4
|
+
`npx @ericrisco/rsc add` commands, and run the requirements-first 3-option decision pattern
|
|
5
5
|
for any significant choice. A skill **cannot install anything** — it recommends
|
|
6
6
|
and prints commands the user runs.
|
|
7
7
|
|
|
@@ -27,11 +27,11 @@ usually does NOT want `fastapi`/`nextjs` unless they're also building software.
|
|
|
27
27
|
|
|
28
28
|
## What to print
|
|
29
29
|
|
|
30
|
-
One `npx rsc add` line per recommendation (or batch them on one line), each with
|
|
30
|
+
One `npx @ericrisco/rsc add` line per recommendation (or batch them on one line), each with
|
|
31
31
|
its *why* in the user's language and level.
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
npx rsc add <skill> [<skill> ...]
|
|
34
|
+
npx @ericrisco/rsc add <skill> [<skill> ...]
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
### Sample printout — software, full-stack web app with marketing
|
|
@@ -40,11 +40,11 @@ npx rsc add <skill> [<skill> ...]
|
|
|
40
40
|
Based on what you described (a web app with a backend, a Next.js UI, a landing
|
|
41
41
|
page, and you want to ship it securely), install these:
|
|
42
42
|
|
|
43
|
-
npx rsc add harness # the control plane — scaffolds and governs the workspace
|
|
44
|
-
npx rsc add fastapi postgresdb # the API and the database
|
|
45
|
-
npx rsc add nextjs design # the web UI people see
|
|
46
|
-
npx rsc add marketing # the words for your landing page
|
|
47
|
-
npx rsc add secure-coding deployment # ship it safely
|
|
43
|
+
npx @ericrisco/rsc add harness # the control plane — scaffolds and governs the workspace
|
|
44
|
+
npx @ericrisco/rsc add fastapi postgresdb # the API and the database
|
|
45
|
+
npx @ericrisco/rsc add nextjs design # the web UI people see
|
|
46
|
+
npx @ericrisco/rsc add marketing # the words for your landing page
|
|
47
|
+
npx @ericrisco/rsc add secure-coding deployment # ship it safely
|
|
48
48
|
|
|
49
49
|
Once they're installed, run the harness skill and I'll build the project structure.
|
|
50
50
|
```
|
|
@@ -55,9 +55,9 @@ Once they're installed, run the harness skill and I'll build the project structu
|
|
|
55
55
|
You're organizing how your agency runs — client emails, contracts, invoicing,
|
|
56
56
|
and you want it all findable. That's a non-code harness; install:
|
|
57
57
|
|
|
58
|
-
npx rsc add harness # your 01-TOOLS (connections) + 02-DOCS (your second brain)
|
|
59
|
-
npx rsc add secure-coding deployment # connect email, payments, drive — and keep credentials safe
|
|
60
|
-
npx rsc add marketing # for the proposals, decks and copy you send clients
|
|
58
|
+
npx @ericrisco/rsc add harness # your 01-TOOLS (connections) + 02-DOCS (your second brain)
|
|
59
|
+
npx @ericrisco/rsc add secure-coding deployment # connect email, payments, drive — and keep credentials safe
|
|
60
|
+
npx @ericrisco/rsc add marketing # for the proposals, decks and copy you send clients
|
|
61
61
|
|
|
62
62
|
Once installed, run the harness skill and I'll set up the structure that holds it all.
|
|
63
63
|
```
|
|
@@ -67,10 +67,10 @@ Once installed, run the harness skill and I'll set up the structure that holds i
|
|
|
67
67
|
```text
|
|
68
68
|
You want an AI agent that answers questions over your own documents. Install:
|
|
69
69
|
|
|
70
|
-
npx rsc add harness # the control plane
|
|
71
|
-
npx rsc add building-agents # agent loops, tools, RAG
|
|
72
|
-
npx rsc add fastapi postgresdb # an API + database to serve it
|
|
73
|
-
npx rsc add secure-coding deployment # ship it safely
|
|
70
|
+
npx @ericrisco/rsc add harness # the control plane
|
|
71
|
+
npx @ericrisco/rsc add building-agents # agent loops, tools, RAG
|
|
72
|
+
npx @ericrisco/rsc add fastapi postgresdb # an API + database to serve it
|
|
73
|
+
npx @ericrisco/rsc add secure-coding deployment # ship it safely
|
|
74
74
|
|
|
75
75
|
Then run the harness skill.
|
|
76
76
|
```
|
|
@@ -41,7 +41,7 @@ should_not_trigger:
|
|
|
41
41
|
why: "Root-cause work owned by debug; orient does not take over the task itself."
|
|
42
42
|
|
|
43
43
|
capability:
|
|
44
|
-
- scenario: "The user just ran `npx rsc add postgresdb` and says 'ya está, ¿y ahora qué?'. The profile shows accompaniment_level L0. Show how orient closes the turn."
|
|
44
|
+
- scenario: "The user just ran `npx @ericrisco/rsc add postgresdb` and says 'ya está, ¿y ahora qué?'. The profile shows accompaniment_level L0. Show how orient closes the turn."
|
|
45
45
|
must_include:
|
|
46
46
|
- "Situates the user on the map ('📍 dónde estás' / what is built vs missing)"
|
|
47
47
|
- "States what just happened in one plain-language line ('✅ instalaste la base de datos')"
|
package/skills/sdd-init/SKILL.md
CHANGED
|
@@ -57,7 +57,7 @@ If any runner is detected, set `testing.strict_tdd: true`. Strict TDD means impl
|
|
|
57
57
|
Refresh the project registry:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
npx rsc registry refresh
|
|
60
|
+
npx @ericrisco/rsc registry refresh
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
This writes:
|
|
@@ -69,6 +69,19 @@ This writes:
|
|
|
69
69
|
|
|
70
70
|
Later phases use this as a cheap index: id, trigger, tags, path, installed/available, hash. Do not load every skill into context. Select the few matching the phase and stack, then digest them into compact rules for subagents.
|
|
71
71
|
|
|
72
|
+
## Equip the repo — install the skills this stack needs
|
|
73
|
+
|
|
74
|
+
Calibration is the moment to make sure the relevant skills are actually present, not just indexed. Detect → propose → install:
|
|
75
|
+
|
|
76
|
+
1. **Detect what this repo needs.** Use the stack you just detected, or ask the CLI: `npx @ericrisco/rsc consult "<one line: stack + what we're building>"`. Map signals to skills — e.g. `next`→`nextjs`+`design`, `go.mod`→`go`, FastAPI→`fastapi`, `*.sql`/Prisma→`postgresdb`/`prisma-orm`, Stripe→`stripe`, Dockerfile/CI→`docker`/`github-actions`, tests→`testing-*`/`e2e-testing`. The SDD phase skills (`specify`…`ship`) should already be present from `--profile core`; install any that are missing.
|
|
77
|
+
2. **Show the shortlist + confirm.** List the skills with a one-line *why* each, matched to the accompaniment dial, and get a one-word confirm before touching their environment.
|
|
78
|
+
3. **Install them yourself.** You have a terminal — run it via Bash:
|
|
79
|
+
```bash
|
|
80
|
+
npx @ericrisco/rsc add <skill> [<skill> ...]
|
|
81
|
+
```
|
|
82
|
+
If you genuinely cannot run a shell, print the exact command and ask the user to paste it in another terminal tab.
|
|
83
|
+
4. **Flag the new session.** Newly installed skills load at the START of a session. Tell the user: *"Instaladas. Abre una pestaña/sesión nueva de tu asistente (o recarga) en esta carpeta para que se activen."* Then refresh the registry again so `installed/available` is accurate.
|
|
84
|
+
|
|
72
85
|
## Config Shape
|
|
73
86
|
|
|
74
87
|
Write `02-DOCS/wiki/sdd/config.yaml` in this shape:
|
|
@@ -129,7 +142,7 @@ End with the standard SDD result envelope:
|
|
|
129
142
|
"Use .rsc/skill-registry.json as the cheap skill index."
|
|
130
143
|
]
|
|
131
144
|
},
|
|
132
|
-
"evidence": ["npx rsc registry refresh", "detected test commands recorded"]
|
|
145
|
+
"evidence": ["npx @ericrisco/rsc registry refresh", "detected test commands recorded"]
|
|
133
146
|
}
|
|
134
147
|
```
|
|
135
148
|
|
|
@@ -38,6 +38,6 @@ capability:
|
|
|
38
38
|
- "Writes 02-DOCS/wiki/sdd/config.yaml, not an openspec/ folder."
|
|
39
39
|
- "Sets testing.strict_tdd true because a runner exists and records apply/verify commands."
|
|
40
40
|
- "Asks or defaults execution_mode, artifact_store, review budget and delivery strategy."
|
|
41
|
-
- "Runs or instructs npx rsc registry refresh and records .rsc/skill-registry.json as registry_path."
|
|
41
|
+
- "Runs or instructs npx @ericrisco/rsc registry refresh and records .rsc/skill-registry.json as registry_path."
|
|
42
42
|
- "Distinguishes itself from init and harness."
|
|
43
43
|
- "Ends with the standard result envelope including skill_resolution and evidence."
|
package/skills/suggest/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: suggest
|
|
3
|
-
description: "Always-on. Use whenever the current task would clearly benefit from an rsc skill that is not yet installed — detect the gap, name the skill, and (with a one-word confirm) install it via `npx rsc add <id>`. Triggers on any task that maps to a known rsc capability the session lacks: building a web/app/API, a database, security, deployment, agents, content, or connecting/documenting a company."
|
|
3
|
+
description: "Always-on. Use whenever the current task would clearly benefit from an rsc skill that is not yet installed — detect the gap, name the skill, and (with a one-word confirm) install it via `npx @ericrisco/rsc add <id>`. Triggers on any task that maps to a known rsc capability the session lacks: building a web/app/API, a database, security, deployment, agents, content, or connecting/documenting a company."
|
|
4
4
|
tags: [suggest, detect, install, meta, always-on]
|
|
5
5
|
recommends: []
|
|
6
6
|
profiles: [minimal, core, full]
|
|
@@ -14,14 +14,14 @@ When the current task would clearly benefit from an rsc skill that is **not inst
|
|
|
14
14
|
|
|
15
15
|
1. Name it in plain language: "Para esto va bien `<id>`, que aún no tienes."
|
|
16
16
|
2. Ask one short confirm: "¿La instalo? (sí/no)".
|
|
17
|
-
3. On yes, run `npx rsc add <id>` (Bash). Then continue the task.
|
|
17
|
+
3. On yes, run `npx @ericrisco/rsc add <id>` (Bash). Then continue the task.
|
|
18
18
|
|
|
19
19
|
Rules:
|
|
20
20
|
|
|
21
21
|
- Installing changes the user's environment — always confirm first.
|
|
22
|
-
- To know what exists, run `npx rsc consult "<the task>"` instead of guessing.
|
|
23
|
-
- For a project-level view, prefer `.rsc/skill-registry.json` when present; if it is missing or stale, suggest `npx rsc registry refresh`. This is a cheap index, not a reason to load every skill.
|
|
24
|
-
- Never recommend something already installed (`npx rsc list`).
|
|
22
|
+
- To know what exists, run `npx @ericrisco/rsc consult "<the task>"` instead of guessing.
|
|
23
|
+
- For a project-level view, prefer `.rsc/skill-registry.json` when present; if it is missing or stale, suggest `npx @ericrisco/rsc registry refresh`. This is a cheap index, not a reason to load every skill.
|
|
24
|
+
- Never recommend something already installed (`npx @ericrisco/rsc list`).
|
|
25
25
|
- One suggestion at a time. Don't interrupt the flow for nice-to-haves.
|
|
26
26
|
|
|
27
27
|
## Orientación (siempre)
|
|
@@ -10,5 +10,5 @@ skill (and stays quiet when the task needs nothing new).
|
|
|
10
10
|
| "renombra esta variable" | no suggestion (trivial, nothing to install) |
|
|
11
11
|
|
|
12
12
|
A pass = the detector names the expected skill, asks a one-word confirm, and on
|
|
13
|
-
"sí" runs `npx rsc add <id>`. It must never auto-install without confirmation and
|
|
14
|
-
must not recommend a skill already in `npx rsc list`.
|
|
13
|
+
"sí" runs `npx @ericrisco/rsc add <id>`. It must never auto-install without confirmation and
|
|
14
|
+
must not recommend a skill already in `npx @ericrisco/rsc list`.
|
|
@@ -2,12 +2,12 @@ skill: suggest
|
|
|
2
2
|
|
|
3
3
|
# The always-on detector. It fires when the current task would clearly benefit
|
|
4
4
|
# from an rsc skill that is NOT yet installed, names it, and (with confirmation)
|
|
5
|
-
# runs `npx rsc add <id>`. It should stay silent for trivial work and defer to a
|
|
5
|
+
# runs `npx @ericrisco/rsc add <id>`. It should stay silent for trivial work and defer to a
|
|
6
6
|
# skill that already owns the task.
|
|
7
7
|
|
|
8
8
|
should_trigger:
|
|
9
9
|
- prompt: "Ayúdame a montar la tabla de pedidos en la base de datos."
|
|
10
|
-
why: "A database task with no DB skill present — the detector should propose `npx rsc add postgresdb` before diving in."
|
|
10
|
+
why: "A database task with no DB skill present — the detector should propose `npx @ericrisco/rsc add postgresdb` before diving in."
|
|
11
11
|
|
|
12
12
|
- prompt: "Quiero publicar mi web online, creo que con Docker."
|
|
13
13
|
why: "A deployment task with no deploy skill present — propose installing `deployment`."
|
|
@@ -46,6 +46,6 @@ capability:
|
|
|
46
46
|
must_include:
|
|
47
47
|
- "Names the missing skill in plain language ('para esto va bien `postgresdb`, que aún no tienes')"
|
|
48
48
|
- "Asks a single short confirmation (sí/no) before doing anything — never auto-installs"
|
|
49
|
-
- "On confirmation, runs `npx rsc add postgresdb` via Bash, then continues the original task"
|
|
50
|
-
- "Checks what is already installed (npx rsc list) and never proposes a skill the user already has"
|
|
49
|
+
- "On confirmation, runs `npx @ericrisco/rsc add postgresdb` via Bash, then continues the original task"
|
|
50
|
+
- "Checks what is already installed (npx @ericrisco/rsc list) and never proposes a skill the user already has"
|
|
51
51
|
- "Makes at most one suggestion and does not interrupt the flow for nice-to-haves"
|