oris-skills 2.1.0 → 2.2.1
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/.cursor-plugin/plugin.json +2 -16
- package/CHANGELOG.md +15 -1
- package/README.md +79 -32
- package/agents/oris-loop-debriefer.md +1 -0
- package/agents/oris-loop-executor.md +5 -2
- package/agents/oris-loop-verifier.md +3 -2
- package/docs/architecture.md +7 -6
- package/docs/distribution.md +1 -1
- package/docs/maintainer-guide.md +3 -3
- package/docs/user-guide.md +5 -4
- package/package.json +1 -1
- package/references/clean-code-checklist.md +1 -1
- package/references/conventions.md +28 -2
- package/references/loop-contract.md +1 -1
- package/references/repo-map.schema.json +4 -0
- package/references/settings.md +2 -1
- package/references/settings.schema.json +5 -0
- package/scripts/flow/oris-flow-scan.mjs +70 -0
- package/scripts/install/generate-agent-adapters.mjs +5 -15
- package/scripts/install/install-user-skills.mjs +54 -8
- package/scripts/install/uninstall-user-skills.mjs +29 -1
- package/scripts/loop/oris-loop-chat.mjs +2 -2
- package/scripts/loop/oris-loop-dry-run.mjs +1 -1
- package/scripts/loop/oris-loop-fixtures.mjs +1 -1
- package/scripts/loop/oris-loop-templates.mjs +3 -3
- package/scripts/oris-skills.mjs +1 -1
- package/scripts/tests/run-all-tests.mjs +1 -0
- package/scripts/tests/test-agent-adapters.mjs +52 -1
- package/scripts/tests/test-oris-flow-scan.mjs +43 -1
- package/scripts/tests/test-routing-lifecycle.mjs +28 -15
- package/scripts/tests/test-skill-style.mjs +64 -0
- package/skills/oris-flow/SKILL.md +48 -33
- package/skills/{oris-flow-architecture/SKILL.md → oris-flow/references/architecture.md} +37 -24
- package/skills/{oris-flow-change/SKILL.md → oris-flow/references/change.md} +21 -16
- package/skills/oris-flow/references/criteria.md +60 -0
- package/skills/oris-flow/references/discover.md +66 -0
- package/skills/{oris-flow-docs/SKILL.md → oris-flow/references/docs.md} +15 -13
- package/skills/oris-flow/references/fix.md +49 -0
- package/skills/{oris-help/SKILL.md → oris-flow/references/help.md} +18 -14
- package/skills/oris-flow/references/implement.md +48 -0
- package/skills/oris-flow/references/loop-craft.md +59 -0
- package/skills/oris-flow/references/loop-improve.md +32 -0
- package/skills/oris-flow/references/loop-run.md +47 -0
- package/skills/oris-flow/references/loop.md +56 -0
- package/skills/{oris-flow-new/SKILL.md → oris-flow/references/new.md} +25 -19
- package/skills/oris-flow/references/plan.md +58 -0
- package/skills/oris-flow/references/setup.md +100 -0
- package/skills/{oris-flow-verify/SKILL.md → oris-flow/references/verify.md} +24 -17
- package/skills/{oris-loop → oris-flow}/templates/debriefer.md +1 -0
- package/skills/{oris-loop → oris-flow}/templates/executor.md +5 -0
- package/skills/{oris-loop → oris-flow}/templates/verifier.md +2 -1
- package/skills/oris-flow-criteria/SKILL.md +0 -55
- package/skills/oris-flow-discover/SKILL.md +0 -63
- package/skills/oris-flow-fix/SKILL.md +0 -42
- package/skills/oris-flow-implement/SKILL.md +0 -43
- package/skills/oris-flow-merge/SKILL.md +0 -45
- package/skills/oris-flow-plan/SKILL.md +0 -55
- package/skills/oris-flow-setup/SKILL.md +0 -80
- package/skills/oris-help/agents/openai.yaml +0 -4
- package/skills/oris-loop/SKILL.md +0 -46
- package/skills/oris-loop/agents/openai.yaml +0 -4
- package/skills/oris-loop/references/craft.md +0 -49
- package/skills/oris-loop/references/improve.md +0 -23
- package/skills/oris-loop/references/run.md +0 -32
- /package/skills/{oris-loop → oris-flow}/templates/doctor.md +0 -0
- /package/skills/{oris-loop → oris-flow}/templates/orchestrator.md +0 -0
|
@@ -1,43 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oris-flow
|
|
3
|
-
description: Oris
|
|
3
|
+
description: The one Oris skill - read the intent, pick ONE route, apply it in the same chat. Use for /oris-flow and whenever the user wants to set up a repo for agents, start a project, understand or define behavior, write acceptance criteria, plan, implement, fix a bug, verify criteria, handle a spec change, run a work loop (fix until green, repeat until verified), review architecture, update task docs, or asks how Oris works.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Oris Flow —
|
|
6
|
+
# Oris Flow — the router
|
|
7
7
|
|
|
8
|
-
The only
|
|
8
|
+
The only skill users see. READ the intent, PICK one route, say one line
|
|
9
|
+
("Entering <route>: <why>"), then READ the route's reference file and APPLY it top to
|
|
10
|
+
bottom in the same chat — its Never and Done when bind the whole route.
|
|
11
|
+
NEVER tell the user to type another command; NEVER narrate the reading
|
|
12
|
+
(`references/conventions.md` `## Silence`).
|
|
9
13
|
|
|
10
|
-
RULES:
|
|
14
|
+
RULES: `references/conventions.md`. This router NEVER writes documents, code, Git, or
|
|
15
|
+
DevOps — the route's own reference owns its gates.
|
|
11
16
|
|
|
12
17
|
## Route
|
|
13
18
|
|
|
14
|
-
Match the desired outcome to ONE route:
|
|
19
|
+
Match the desired outcome to ONE route, then apply its reference:
|
|
15
20
|
|
|
16
|
-
| Route | When the user wants… |
|
|
21
|
+
| Route | When the user wants… | Apply |
|
|
17
22
|
|-------|----------------------|-------|
|
|
18
|
-
| setup | prepare / map / refresh
|
|
19
|
-
| new | bootstrap a
|
|
20
|
-
| discover | understand or define product behavior | `skills/oris-flow
|
|
21
|
-
| criteria | acceptance criteria
|
|
22
|
-
| plan | a technical implementation plan | `skills/oris-flow
|
|
23
|
-
| implement | build from a plan or confirmed scope | `skills/oris-flow
|
|
24
|
-
| fix |
|
|
25
|
-
| verify | check acceptance criteria against the real product, once | `skills/oris-flow
|
|
26
|
-
| change | the spec changed — update analysis, criteria, plan, and history together | `skills/oris-flow
|
|
27
|
-
| loop | repeat work until verified
|
|
28
|
-
| architecture | review architecture, find deepening/refactor opportunities | `skills/oris-flow
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
1.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
| setup | prepare / map / refresh an existing repo for Oris and agents | `skills/oris-flow/references/setup.md` |
|
|
24
|
+
| new | bootstrap a project from scratch, greenfield, empty directory | `skills/oris-flow/references/new.md` |
|
|
25
|
+
| discover | understand or define product behavior, functional analysis | `skills/oris-flow/references/discover.md` |
|
|
26
|
+
| criteria | acceptance criteria, QA checks, testable scenarios | `skills/oris-flow/references/criteria.md` |
|
|
27
|
+
| plan | a technical implementation plan before coding | `skills/oris-flow/references/plan.md` |
|
|
28
|
+
| implement | build from a plan or confirmed scope | `skills/oris-flow/references/implement.md` |
|
|
29
|
+
| fix | broken behavior, a regression, a failed QA check | `skills/oris-flow/references/fix.md` |
|
|
30
|
+
| verify | check acceptance criteria against the real product, once | `skills/oris-flow/references/verify.md` |
|
|
31
|
+
| change | the spec changed — update analysis, criteria, plan, and history together | `skills/oris-flow/references/change.md` |
|
|
32
|
+
| loop | repeat work until verified — fix until green, step through a plan | `skills/oris-flow/references/loop.md` |
|
|
33
|
+
| architecture | review architecture, find deepening/refactor opportunities | `skills/oris-flow/references/architecture.md` |
|
|
34
|
+
| docs | update task docs after a change | `skills/oris-flow/references/docs.md` |
|
|
35
|
+
| help | how Oris works, install, update, troubleshooting | `skills/oris-flow/references/help.md` |
|
|
36
|
+
|
|
37
|
+
## Precedence (the calls that look ambiguous)
|
|
38
|
+
|
|
39
|
+
1. INTENT clear → enter the route NOW. Unclear → ONE menu question (below); NEVER guess
|
|
40
|
+
between two routes and never ask twice.
|
|
41
|
+
2. RETHINK beats build: analyze, question, or reshape existing work →
|
|
42
|
+
route to the interview owner (discover / plan / change), NEVER straight to implement.
|
|
43
|
+
3. CHANGED spec on a feature that already has task docs or code → change, not discover —
|
|
44
|
+
change owns the delta and the history.
|
|
45
|
+
4. BROKEN behavior → fix. NEW planned work → implement. The menu answer "Implement or
|
|
46
|
+
fix" gets exactly one follow-up question to split them.
|
|
47
|
+
5. CHECK once → verify. Repeat-until-verified → loop.
|
|
48
|
+
6. EMPTY directory or from-scratch intent → new. Existing repo without
|
|
49
|
+
`.oris-flow/manifest.json` → recommend setup first; respect the user's choice.
|
|
41
50
|
|
|
42
51
|
## Menu (low confidence)
|
|
43
52
|
|
|
@@ -53,16 +62,22 @@ ASK "What do you want to do?" localized to `uiLanguage`, options:
|
|
|
53
62
|
- Spec changed: update feature docs
|
|
54
63
|
- Loop: repeat until verified
|
|
55
64
|
- Architecture review
|
|
56
|
-
- Resolve merge conflicts
|
|
57
65
|
- Update docs
|
|
58
66
|
- Help
|
|
59
67
|
- Explain the options / Spiega le opzioni
|
|
60
68
|
|
|
61
|
-
IF "Implement or fix" → one follow-up: new planned work (implement) or broken behavior (fix)?
|
|
62
69
|
IF "Explain the options" → explain briefly, re-ask the same question.
|
|
63
70
|
Every other label maps 1:1 to its route in the table above.
|
|
64
71
|
|
|
72
|
+
## Never
|
|
73
|
+
|
|
74
|
+
- Force a route onto a plain question — no flow intent means no menu: just answer.
|
|
75
|
+
- Write anything — the route's reference owns every gate.
|
|
76
|
+
- Hand the user a command or skill name to type — enter the route yourself.
|
|
77
|
+
- Route to implement while the plan itself is in question.
|
|
78
|
+
- Keep interviewing here: one menu question maximum, then enter.
|
|
79
|
+
|
|
65
80
|
## Done when
|
|
66
81
|
|
|
67
|
-
- [ ] One route entered in the same chat, or the menu was asked.
|
|
68
|
-
- [ ] No writes happened before the
|
|
82
|
+
- [ ] One route entered and applied in the same chat, or the menu was asked exactly once.
|
|
83
|
+
- [ ] No writes happened before the route's own gate.
|
|
@@ -1,60 +1,73 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oris-flow-architecture
|
|
3
|
-
description: Scan the codebase for architectural friction, present deepening opportunities as a visual HTML report, then interview through the picked one. Use for architecture review, refactor opportunities, tech-debt mapping intents.
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
1
|
# Architecture Review
|
|
8
2
|
|
|
9
|
-
Surface architectural friction and propose deepening opportunities — refactors that turn
|
|
3
|
+
Surface architectural friction and propose deepening opportunities — refactors that turn
|
|
4
|
+
shallow modules into deep ones. The aim is testability and AI-navigability.
|
|
10
5
|
|
|
11
|
-
RULES:
|
|
6
|
+
RULES: `references/conventions.md`. Output is a report + an interview; implementation
|
|
7
|
+
routes to plan/implement.
|
|
12
8
|
|
|
13
9
|
## Vocabulary (use these words exactly)
|
|
14
10
|
|
|
15
|
-
- **module** — a unit with an interface and an implementation. Never "component",
|
|
11
|
+
- **module** — a unit with an interface and an implementation. Never "component",
|
|
12
|
+
"service", "layer".
|
|
16
13
|
- **interface** — what callers must know. Never "API", "signature".
|
|
17
|
-
- **deep / shallow** — deep: small interface, big implementation. Shallow: interface
|
|
18
|
-
|
|
19
|
-
- **
|
|
20
|
-
|
|
14
|
+
- **deep / shallow** — deep: small interface, big implementation. Shallow: interface
|
|
15
|
+
nearly as complex as the implementation.
|
|
16
|
+
- **seam** — where two modules meet. Never "boundary". One adapter = hypothetical seam;
|
|
17
|
+
two = real.
|
|
18
|
+
- **locality** — bugs concentrate where the behavior lives; **leverage** — one interface
|
|
19
|
+
serves N call sites.
|
|
20
|
+
- **deletion test** — would deleting the module concentrate complexity (good signal) or
|
|
21
|
+
just move it?
|
|
21
22
|
|
|
22
23
|
## 1. Explore
|
|
23
24
|
|
|
24
|
-
1. READ first: setup map, `CONTEXT.md` (domain names for good seams), `docs/adr/`
|
|
25
|
+
1. READ first: setup map, `CONTEXT.md` (domain names for good seams), `docs/adr/`
|
|
26
|
+
(decisions NOT to re-litigate).
|
|
25
27
|
2. WALK the codebase with parallel subagents. No rigid heuristics — note real friction:
|
|
26
28
|
- understanding one concept requires bouncing between many small modules;
|
|
27
29
|
- shallow modules (deletion test says "concentrates");
|
|
28
|
-
- pure functions extracted for testability while the bugs hide in how they're called
|
|
30
|
+
- pure functions extracted for testability while the bugs hide in how they're called;
|
|
29
31
|
- tight coupling leaking across seams;
|
|
30
32
|
- untested code, or code untestable through its current interface.
|
|
31
33
|
|
|
32
34
|
## 2. Report (HTML, outside the repo)
|
|
33
35
|
|
|
34
|
-
WRITE a self-contained HTML file to the OS temp dir (`architecture-review-<timestamp>.html`),
|
|
36
|
+
WRITE a self-contained HTML file to the OS temp dir (`architecture-review-<timestamp>.html`),
|
|
37
|
+
OPEN it (`start` | `open` | `xdg-open`), TELL the absolute path.
|
|
35
38
|
|
|
36
39
|
FORMAT: Tailwind CDN + Mermaid CDN. Per candidate, one card:
|
|
37
40
|
- title (names the deepening) + strength badge: `Strong` | `Worth exploring` | `Speculative`;
|
|
38
41
|
- files (monospaced), Problem (one sentence), Solution (one sentence);
|
|
39
|
-
- Before/After diagram side by side — Mermaid for graph-shaped
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
+
- Before/After diagram side by side — Mermaid for graph-shaped, hand-built divs/SVG for
|
|
43
|
+
mass diagrams; if the diagram needs a paragraph, redraw the diagram;
|
|
44
|
+
- wins as bullets ≤6 words, glossary terms only — never "cleaner code";
|
|
45
|
+
- ADR conflict → amber callout ("contradicts ADR-0007 — worth reopening because…").
|
|
42
46
|
|
|
43
47
|
END with Top recommendation: one candidate, one sentence why.
|
|
44
|
-
|
|
48
|
+
ASK: "Which of these would you like to explore?" — DO NOT propose interfaces yet.
|
|
45
49
|
|
|
46
50
|
## 3. Walk the picked candidate
|
|
47
51
|
|
|
48
|
-
INTERVIEW per conventions (one question per turn, recommended answer first):
|
|
52
|
+
INTERVIEW per conventions (one question per turn, recommended answer first):
|
|
53
|
+
constraints, dependencies, the shape of the deepened module, what sits behind the seam,
|
|
54
|
+
which tests survive.
|
|
49
55
|
|
|
50
56
|
SIDE EFFECTS as decisions crystallize:
|
|
51
57
|
- new concept named → add the term to `CONTEXT.md` (create lazily);
|
|
52
58
|
- fuzzy term sharpened → update `CONTEXT.md` in place;
|
|
53
|
-
- candidate rejected for a load-bearing reason → offer an ADR so future reviews don't
|
|
59
|
+
- candidate rejected for a load-bearing reason → offer an ADR so future reviews don't
|
|
60
|
+
re-suggest it (skip ephemeral reasons).
|
|
61
|
+
|
|
62
|
+
AFTER: offer technical plan for the deepening (`skills/oris-flow/references/plan.md`) |
|
|
63
|
+
explore another candidate | stop.
|
|
54
64
|
|
|
55
|
-
##
|
|
65
|
+
## Never
|
|
56
66
|
|
|
57
|
-
|
|
67
|
+
- Edit product code — the deepening routes to plan, then implement.
|
|
68
|
+
- Use non-glossary words: component, service, layer, boundary, "cleaner code".
|
|
69
|
+
- Re-litigate an ADR silently — surface the conflict, let the user reopen it.
|
|
70
|
+
- Write the report inside the repo.
|
|
58
71
|
|
|
59
72
|
## Done when
|
|
60
73
|
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oris-flow-change
|
|
3
|
-
description: Handle a spec change on an existing feature - scoped delta interview, impact analysis, homogeneous update of all task documents, traceable CH-xxx change log. Use when requirements changed mid-implementation or the client changed their mind. Ambiguous request - route to /oris-flow.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
1
|
# Spec Change
|
|
7
2
|
|
|
8
|
-
Specs changed while the feature exists (documented, planned, or half-built). Understand
|
|
3
|
+
Specs changed while the feature exists (documented, planned, or half-built). Understand
|
|
4
|
+
the delta, update EVERYTHING together, keep the history traceable.
|
|
9
5
|
|
|
10
|
-
RULES:
|
|
11
|
-
NEVER write code here. NEVER update documents one-by-one across separate requests — the whole point is one homogeneous, approved update.
|
|
6
|
+
RULES: `references/conventions.md`. Doc standards: `references/doc-policy.md`.
|
|
12
7
|
|
|
13
8
|
## Delta interview
|
|
14
9
|
|
|
15
|
-
1. EXPLORE first: task folder ({task} per doc-policy), `functional-analysis.md`,
|
|
16
|
-
|
|
10
|
+
1. EXPLORE first: task folder ({task} per doc-policy), `functional-analysis.md`,
|
|
11
|
+
`acceptance-criteria.md`, `implementation-plan.md`, `change-log.md`, implemented code
|
|
12
|
+
state.
|
|
13
|
+
2. ASK one business question at a time (discover style, early exit always present): what
|
|
14
|
+
changes, why, what stays valid, what is now wrong, urgency vs work already done.
|
|
17
15
|
3. STOP interviewing when the delta is explicit: before-behavior → after-behavior, confirmed.
|
|
18
16
|
|
|
19
17
|
## Impact analysis
|
|
20
18
|
|
|
21
19
|
MAP the delta to every artifact BEFORE proposing edits:
|
|
22
20
|
- functional-analysis sections affected;
|
|
23
|
-
- `AC-xxx` criteria: changed (keep ID) | removed (mark, never recycle
|
|
21
|
+
- `AC-xxx` criteria: changed (keep ID) | removed (mark, never recycle) | new (next free ID);
|
|
24
22
|
- plan tasks `### n.`: changed | obsolete | new;
|
|
25
|
-
- implemented code and tests already touched (report only — fixing/implementing is not
|
|
23
|
+
- implemented code and tests already touched (report only — fixing/implementing is not
|
|
24
|
+
this skill);
|
|
26
25
|
- docs and open points now stale.
|
|
27
26
|
|
|
28
27
|
SHOW the impact map compactly. ASK ONE question: Apply all updates | Adjust the delta | Stop.
|
|
@@ -30,7 +29,8 @@ SHOW the impact map compactly. ASK ONE question: Apply all updates | Adjust the
|
|
|
30
29
|
## Apply (one approved pass)
|
|
31
30
|
|
|
32
31
|
ON approval, update ALL affected documents together (language `artifactLanguage`):
|
|
33
|
-
1. REWRITE affected sections to the new behavior; add one change-history row per
|
|
32
|
+
1. REWRITE affected sections to the new behavior; add one change-history row per
|
|
33
|
+
document (doc-policy rule 4).
|
|
34
34
|
2. APPEND one entry to `{tasksRoot}/{task}/change-log.md` (create on first change):
|
|
35
35
|
|
|
36
36
|
```markdown
|
|
@@ -42,11 +42,16 @@ Impacted: functional-analysis §…, AC-004 (changed), AC-007 (removed), plan ta
|
|
|
42
42
|
Follow-up: implement delta | re-verify | none
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
AFTER: offer implement the delta (`skills/oris-flow/references/implement.md`) | re-verify
|
|
46
|
+
criteria (`skills/oris-flow/references/verify.md`) | stop.
|
|
46
47
|
|
|
47
|
-
##
|
|
48
|
+
## Never
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
- Write code — this skill updates documents only.
|
|
51
|
+
- Update documents one-by-one across separate requests — the whole point is one
|
|
52
|
+
homogeneous, approved update.
|
|
53
|
+
- Recycle an `AC-xxx` or `CH-xxx` ID — they are the feature's history.
|
|
54
|
+
- Apply anything before the impact map is approved, or auto-start the next phase.
|
|
50
55
|
|
|
51
56
|
## Done when
|
|
52
57
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Acceptance Criteria
|
|
2
|
+
|
|
3
|
+
Generate verifiable criteria grounded in observable product behavior — UI, API response,
|
|
4
|
+
CLI output, or a visible system effect. They later feed verify-route checks and
|
|
5
|
+
loop VERIFIER prompts — precision here pays twice.
|
|
6
|
+
|
|
7
|
+
RULES: `references/conventions.md`. Doc standards: `references/doc-policy.md`.
|
|
8
|
+
|
|
9
|
+
## Generate privately first
|
|
10
|
+
|
|
11
|
+
1. SOURCES in order of trust: confirmed chat > task docs (`functional-analysis.md`
|
|
12
|
+
preferred, never required — say once when missing) > current UI > code and tests.
|
|
13
|
+
2. DEDUCE create vs update: existing `acceptance-criteria.md` → update, PRESERVE IDs.
|
|
14
|
+
3. IDs: `AC-001`, `AC-002`, … stable across revisions.
|
|
15
|
+
4. Each scenario declares ALL of: role + starting state · deterministic data · numbered
|
|
16
|
+
user steps · observable outcome under the step that causes it · negative coverage ·
|
|
17
|
+
regressions to keep.
|
|
18
|
+
5. CLASSIFY each: `Verifiable` | `Needs setup/data` | `Blocked by Open QA`.
|
|
19
|
+
6. DISCARD criteria not checkable through observable product behavior. Unbuilt features:
|
|
20
|
+
only confirmed intended behavior.
|
|
21
|
+
|
|
22
|
+
## Interview (only high-impact gaps)
|
|
23
|
+
|
|
24
|
+
ASK one at a time, only what docs/UI/code cannot answer: actor boundaries, required
|
|
25
|
+
data/state, success message + visible result, blocked/negative cases, async states
|
|
26
|
+
visible to the user, regressions, ambiguous wording.
|
|
27
|
+
|
|
28
|
+
## Write + gate
|
|
29
|
+
|
|
30
|
+
WRITE `{tasksRoot}/{task}/acceptance-criteria.md` (language `artifactLanguage`):
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# {Feature} — Acceptance Criteria
|
|
34
|
+
## AC-001 {scenario title} [Verifiable | Needs setup/data | Blocked by Open QA]
|
|
35
|
+
Role/state: … | Data: …
|
|
36
|
+
Steps:
|
|
37
|
+
1. …
|
|
38
|
+
→ observable outcome
|
|
39
|
+
Negative: … | Regressions: …
|
|
40
|
+
## Open QA
|
|
41
|
+
## Change history (date | source | change | reason)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
THEN ask ONE question: Approve document | Regenerate | Edit specific criteria | Cancel.
|
|
45
|
+
The document is confirmed ONLY on approval. AFTER: offer technical plan
|
|
46
|
+
(`skills/oris-flow/references/plan.md`) | verify now (`skills/oris-flow/references/verify.md`, when
|
|
47
|
+
the feature is already built) | stop.
|
|
48
|
+
|
|
49
|
+
## Never
|
|
50
|
+
|
|
51
|
+
- Write code, Git, or DevOps.
|
|
52
|
+
- Recycle a removed ID for different behavior.
|
|
53
|
+
- Invent labels, messages, or behavior for unbuilt features.
|
|
54
|
+
- Ask "anything else?" — every question targets a named gap.
|
|
55
|
+
|
|
56
|
+
## Done when
|
|
57
|
+
|
|
58
|
+
- [ ] IDs stable; every scenario observable and classified.
|
|
59
|
+
- [ ] Questions only for gaps evidence could not close.
|
|
60
|
+
- [ ] Approval asked exactly once after writing.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Discovery
|
|
2
|
+
|
|
3
|
+
Interview the stakeholder until the desired business behavior is clear enough to
|
|
4
|
+
document. The cornerstone of the flow: everything downstream (criteria, plan, loops)
|
|
5
|
+
builds on this.
|
|
6
|
+
|
|
7
|
+
RULES: `references/conventions.md`. Doc standards: `references/doc-policy.md`.
|
|
8
|
+
|
|
9
|
+
## Before asking
|
|
10
|
+
|
|
11
|
+
1. EXPLORE first: task folder (`{tasksRoot}/{task}/`), existing task docs, project docs,
|
|
12
|
+
setup map, code evidence, DevOps context when available.
|
|
13
|
+
2. DEDUCE create vs update: existing `functional-analysis.md` → update; missing → create.
|
|
14
|
+
Ask only on contradictory signals.
|
|
15
|
+
3. Technical evidence = private input. TRANSLATE it to business language; never show file
|
|
16
|
+
paths or code to the stakeholder.
|
|
17
|
+
|
|
18
|
+
## Interview
|
|
19
|
+
|
|
20
|
+
ASK one business decision at a time, recommended answer first, early exit always present.
|
|
21
|
+
BUSINESS ONLY, in rough priority:
|
|
22
|
+
- actors, roles, permissions, goals;
|
|
23
|
+
- current vs desired behavior;
|
|
24
|
+
- visible states, labels, messages, navigation;
|
|
25
|
+
- edge cases, empty/error states;
|
|
26
|
+
- scope in/out/deferred, rollout, priority.
|
|
27
|
+
WALK every branch until intent, boundaries, cases, and open points are explicit or
|
|
28
|
+
intentionally parked. Do not stop at the first plausible answer.
|
|
29
|
+
ESTIMATE complexity in Fibonacci Story Points (1–21) from scope, dependencies,
|
|
30
|
+
uncertainty, QA impact.
|
|
31
|
+
|
|
32
|
+
## Generation gate
|
|
33
|
+
|
|
34
|
+
SHOW compact summary: goal, confirmed behavior, scope in/out, open points, estimate.
|
|
35
|
+
ASK: generate the document | keep interviewing | explain.
|
|
36
|
+
ON generate → write `{tasksRoot}/{task}/functional-analysis.md` (language `artifactLanguage`):
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
# {Feature} — Functional Analysis
|
|
40
|
+
## Goal (business value, one paragraph)
|
|
41
|
+
## Actors & permissions
|
|
42
|
+
## Behavior (current → desired, user-visible only, numbered flows)
|
|
43
|
+
## States & messages (labels, empty/error/loading states)
|
|
44
|
+
## Edge cases
|
|
45
|
+
## Scope (included | excluded | deferred)
|
|
46
|
+
## Open points
|
|
47
|
+
## Estimate (Story Points + rationale)
|
|
48
|
+
## Change history (date | source | change | reason)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
AFTER: offer acceptance criteria (`skills/oris-flow/references/criteria.md`) | technical plan
|
|
52
|
+
(`skills/oris-flow/references/plan.md`) | stop.
|
|
53
|
+
|
|
54
|
+
## Never
|
|
55
|
+
|
|
56
|
+
- Write code, Git, or DevOps — this skill only interviews and documents.
|
|
57
|
+
- Ask about implementation: files, APIs, services, tables, selectors, branches, tests,
|
|
58
|
+
frameworks, sequencing.
|
|
59
|
+
- Invent behavior — facts only from confirmed sources; open questions go to Open points.
|
|
60
|
+
- Write the document before the explicit generation choice, or auto-start the next phase.
|
|
61
|
+
|
|
62
|
+
## Done when
|
|
63
|
+
|
|
64
|
+
- [ ] Explored before asking; questions stayed business-only, one at a time.
|
|
65
|
+
- [ ] Every branch walked or intentionally parked; estimate given.
|
|
66
|
+
- [ ] Document written only after the explicit generation choice.
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oris-flow-docs
|
|
3
|
-
description: Update existing task documents after a later functional, QA, or implementation change. Use when documented behavior changed and task documents must record it.
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
1
|
# Update Task Docs
|
|
8
2
|
|
|
9
|
-
Bring `{tasksRoot}/{task}/` documents in line with a later change, keeping the change
|
|
3
|
+
Bring `{tasksRoot}/{task}/` documents in line with a later change, keeping the change
|
|
4
|
+
traceable ({tasksRoot} per doc-policy).
|
|
10
5
|
|
|
11
|
-
RULES:
|
|
6
|
+
RULES: `references/conventions.md`. Doc standards: `references/doc-policy.md`.
|
|
12
7
|
|
|
13
8
|
## Workflow
|
|
14
9
|
|
|
15
10
|
1. IDENTIFY the task folder. IF unclear → ask which task; recommend the obvious recent one.
|
|
16
11
|
2. IF the change itself is vague → ask what changed before reading further.
|
|
17
|
-
3. READ the existing docs, COMPARE with the new reality, CLASSIFY the change:
|
|
12
|
+
3. READ the existing docs, COMPARE with the new reality, CLASSIFY the change:
|
|
13
|
+
functional | criteria | technical.
|
|
18
14
|
4. ASK only unresolved questions, one at a time.
|
|
19
15
|
5. SUMMARIZE proposed updates; CONFIRM before writing.
|
|
20
16
|
6. UPDATE affected documents in place (language `artifactLanguage`):
|
|
21
|
-
- rewrite sections to the new behavior
|
|
17
|
+
- rewrite sections to the new behavior;
|
|
22
18
|
- add one change-history row per document: date | source | short change | reason;
|
|
23
|
-
- keep unresolved risks in open points
|
|
19
|
+
- keep unresolved risks in open points;
|
|
24
20
|
- preserve acceptance-criteria IDs.
|
|
25
|
-
7.
|
|
26
|
-
|
|
21
|
+
7. CLOSE with a concise summary. Offer next steps without auto-starting them.
|
|
22
|
+
|
|
23
|
+
## Never
|
|
24
|
+
|
|
25
|
+
- Write before the proposed updates are confirmed.
|
|
26
|
+
- Create a replacement task folder — one feature, one folder, forever.
|
|
27
|
+
- Scatter "changed!" notes in the body — rewrite the section, add the history row.
|
|
28
|
+
- Drop unresolved risks silently.
|
|
27
29
|
|
|
28
30
|
## Done when
|
|
29
31
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Fix
|
|
2
|
+
|
|
3
|
+
The smallest safe change near the failing behavior. Reproduce first, root cause before
|
|
4
|
+
any edit, evidence before done.
|
|
5
|
+
|
|
6
|
+
RULES: `references/conventions.md`.
|
|
7
|
+
|
|
8
|
+
## Triage
|
|
9
|
+
|
|
10
|
+
1. IF no details given → ask ONE question: what happens, what was expected, where
|
|
11
|
+
(link/ID when one exists).
|
|
12
|
+
2. GATHER before asking more: reproduction steps, expected vs actual, task docs
|
|
13
|
+
(`functional-analysis.md`, `acceptance-criteria.md`, `implementation-plan.md`),
|
|
14
|
+
tracker context, recent commits, relevant code and tests.
|
|
15
|
+
3. ASSUME bug report, not redesign.
|
|
16
|
+
|
|
17
|
+
## Diagnose
|
|
18
|
+
|
|
19
|
+
- REPRODUCE or trace the failure path in code before proposing anything.
|
|
20
|
+
- FIND root cause, not symptom. Check whether the documented behavior
|
|
21
|
+
(criteria/analysis) defines "correct".
|
|
22
|
+
- SUMMARIZE: root cause → proposed minimal fix → files → verification plan.
|
|
23
|
+
CONFIRM explicitly.
|
|
24
|
+
|
|
25
|
+
## Fix
|
|
26
|
+
|
|
27
|
+
- SURGICAL change near the failure.
|
|
28
|
+
- PRESERVE unrelated user changes.
|
|
29
|
+
- ADD a regression test when the area has test conventions.
|
|
30
|
+
|
|
31
|
+
## Verify + close
|
|
32
|
+
|
|
33
|
+
1. RUN the reproduction + targeted tests; broaden if the surface is shared.
|
|
34
|
+
2. SUMMARIZE: cause, change, verification, residual risk.
|
|
35
|
+
3. RECOMMEND: `skills/oris-flow/references/verify.md` when criteria exist; docs update
|
|
36
|
+
(`skills/oris-flow/references/docs.md`) when documented behavior changed.
|
|
37
|
+
|
|
38
|
+
## Never
|
|
39
|
+
|
|
40
|
+
- Edit code before root cause, proposed fix, and verification plan are confirmed.
|
|
41
|
+
- Broaden scope or change product decisions — unless documented behavior is impossible.
|
|
42
|
+
- Refactor, clean up, or reformat around the fix — surgical only.
|
|
43
|
+
- Patch the symptom when the cause is elsewhere.
|
|
44
|
+
|
|
45
|
+
## Done when
|
|
46
|
+
|
|
47
|
+
- [ ] Root cause identified and confirmed before edits.
|
|
48
|
+
- [ ] Minimal change; regression verified.
|
|
49
|
+
- [ ] No unrelated code touched.
|
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oris-help
|
|
3
|
-
description: Explain how to install, use, and troubleshoot Oris Skills. Use when the user asks how Oris works, what to type, how to install/update/uninstall, or why a skill is missing.
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
1
|
# Oris Help
|
|
8
2
|
|
|
9
|
-
Answer in the user's language. Start with the next practical action. Keep it short;
|
|
3
|
+
Answer in the user's language. Start with the next practical action. Keep it short;
|
|
4
|
+
details on request.
|
|
10
5
|
|
|
11
6
|
## Quick answers
|
|
12
7
|
|
|
13
8
|
| Need | Answer |
|
|
14
9
|
|------|--------|
|
|
15
|
-
| Start anything | Type `/oris-flow` — it routes or shows the menu.
|
|
10
|
+
| Start anything | Type `/oris-flow` — it routes or shows the menu. The only command to remember. |
|
|
16
11
|
| Try loops safely | `npx oris-skills loop demo` → follow the 3 printed steps (`dry-run` previews, `chat --action start` runs). |
|
|
17
|
-
| Install / update | `npx oris-skills@latest install` (detects Cursor, Claude Code, Codex; or `--agents cursor,claude,codex`). Reload the agent afterwards. |
|
|
12
|
+
| Install / update | `npx oris-skills@latest install` (detects Cursor, Claude Code, Codex, Copilot; or `--agents cursor,claude,codex,copilot`). Reload the agent afterwards. |
|
|
13
|
+
| Copilot / any other agent | Copilot Chat: enable `chat.promptFiles` once, then `/oris-flow`. Anything else that reads files: point it at `~/.oris/oris-flow.md`. |
|
|
18
14
|
| Uninstall / reinstall | `npx oris-skills uninstall` / `npx oris-skills reinstall` (preview with `--dry-run`). |
|
|
19
15
|
| Stop a loop | `npx oris-skills loop chat --action stop` |
|
|
20
16
|
| Loop status | `npx oris-skills loop chat --action status` / `npx oris-skills loop list` |
|
|
21
17
|
| Skill missing after install | Reload the agent; check `~/.oris/oris-skills/` exists; re-run install with `--force`. |
|
|
22
18
|
| Hook not firing | `npx oris-skills loop verify --temp` self-checks the runtime; `npx oris-skills loop bootstrap` re-arms repo hooks. |
|
|
23
19
|
| Change language / test profiles | `/oris-flow` → Setup → language & profiles (settings live in `~/.oris/settings.json`). |
|
|
24
|
-
|
|
|
20
|
+
| Ultra-short answers | `/oris-flow` → Setup → set `responseStyle: caveman` — chat shrinks to maximum token density; documents stay complete. |
|
|
21
|
+
| Edit a loop's behavior | Edit the files in `.oris-flow/loops/{slug}/prompts/` — the next pass obeys them. |
|
|
22
|
+
|
|
23
|
+
Deeper docs: `docs/user-guide.md`, `docs/architecture.md` in the bundle (`~/.oris/oris-skills/`).
|
|
24
|
+
|
|
25
|
+
## Never
|
|
26
|
+
|
|
27
|
+
- Tell users to paste secrets anywhere.
|
|
28
|
+
- Dump internals (manifest JSON, hook mechanics) unless the user asks for technical
|
|
29
|
+
troubleshooting.
|
|
25
30
|
|
|
26
|
-
##
|
|
31
|
+
## Done when
|
|
27
32
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- Deeper docs: `docs/user-guide.md`, `docs/architecture.md` in the bundle (`~/.oris/oris-skills/`).
|
|
33
|
+
- [ ] The user knows the next practical action, in their language.
|
|
34
|
+
- [ ] No secrets requested; internals only on request.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Implement
|
|
2
|
+
|
|
3
|
+
Execute the confirmed plan — nothing more, nothing less.
|
|
4
|
+
|
|
5
|
+
RULES: `references/conventions.md`.
|
|
6
|
+
|
|
7
|
+
## Prepare
|
|
8
|
+
|
|
9
|
+
1. FIND `{tasksRoot}/{task}/implementation-plan.md`. IF missing → reconstruct a technical
|
|
10
|
+
recap from chat, task docs, and code; SHOW it; CONFIRM before any edit.
|
|
11
|
+
2. READ setup map, project standards, local skills/rules, tests and build conventions for
|
|
12
|
+
the touched area.
|
|
13
|
+
3. MAP the code, tests, config, and translations the plan touches (parallel subagents
|
|
14
|
+
when available).
|
|
15
|
+
|
|
16
|
+
## Execution mode (ask before the first edit)
|
|
17
|
+
|
|
18
|
+
- `Step by step` (recommended) — one numbered `### n.` plan task per step; SUMMARIZE
|
|
19
|
+
touched files + completion criteria; WAIT for explicit confirmation before the next task.
|
|
20
|
+
- `One shot` — all tasks in order, no stops between tasks.
|
|
21
|
+
|
|
22
|
+
## While coding
|
|
23
|
+
|
|
24
|
+
- FOLLOW existing project patterns; no new abstractions without need.
|
|
25
|
+
- STAY inside the confirmed scope; park discoveries as notes, don't chase them.
|
|
26
|
+
- ADD or update focused tests for the changed behavior.
|
|
27
|
+
- CLEAN as you finish (`references/clean-code-checklist.md`): remove dead code, debug
|
|
28
|
+
leftovers, and duplication you introduced; match the file's naming and style.
|
|
29
|
+
|
|
30
|
+
## Verify + close
|
|
31
|
+
|
|
32
|
+
1. RUN targeted verification first; broaden when the touched surface is shared.
|
|
33
|
+
2. SUMMARIZE: touched files, verification results, residual risk.
|
|
34
|
+
3. RECOMMEND next: `skills/oris-flow/references/verify.md` when acceptance criteria exist;
|
|
35
|
+
otherwise update docs (`skills/oris-flow/references/docs.md`).
|
|
36
|
+
|
|
37
|
+
## Never
|
|
38
|
+
|
|
39
|
+
- Edit code before BOTH the source (plan or recap) and the execution mode are confirmed.
|
|
40
|
+
- Leave the confirmed scope, or drive-by refactor untouched code.
|
|
41
|
+
- Update DevOps unless explicitly asked.
|
|
42
|
+
- Auto-start the next phase.
|
|
43
|
+
|
|
44
|
+
## Done when
|
|
45
|
+
|
|
46
|
+
- [ ] Source and mode confirmed before edits.
|
|
47
|
+
- [ ] Only planned scope touched; verification ran.
|
|
48
|
+
- [ ] Next step recommended, not auto-started.
|