synorch 0.1.0 → 0.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"structure-templates.js","sourceRoot":"","sources":["../../src/templates/structure-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure-templates.js","sourceRoot":"","sources":["../../src/templates/structure-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const taskConductorSkill = "---\nname: task-conductor\ndescription: Use as the orchestrator's central routing discipline for multi-part work. Decompose by dependency, load skills just in time, scale ceremony to risk, and stop verification at the cheapest sufficient evidence. Do not use the full conductor workflow for one-line or single-step fixes.\n---\n\n# Task Conductor\n\nRead the complete brief before deciding how much process it needs. Optimize jointly for correctness, elapsed time and context cost. More ceremony is not more correctness when it does not reduce a concrete risk.\n\n## Classify before decomposing\n\n- **trivial**: one local, reversible change with no behavior, contract, dependency, security, data or architecture impact. Use one fast worker. Keep the approved plan to one compact paragraph. Do not create workstreams, run broad discovery, request independent review or open a browser. Verify the exact diff and the changed claim only.\n- **standard**: bounded behavior spanning a few related files. Use the smallest capable worker set, focused discovery and targeted automated checks. Add independent review only when the diff is material or crosses a boundary.\n- **high-risk**: security, authentication, payments, persistence, migrations, public contracts, concurrency, destructive operations or wide architectural impact. Use complex workers, explicit decomposition, strong verification and independent review.\n\nEscalate the tier when scope expands, a check fails unexpectedly, verified facts contradict the plan or the change crosses a risk boundary. Record the reason. Never lower a tier merely to save cost.\n\n## Conduct only when needed\n\nFor a multi-part brief:\n\n1. Extract deliverables, actions, constraints, acceptance criteria and affected surfaces.\n2. Trace existing code and contracts before designing. Do not invent layers the brief does not need.\n3. Split into dependency-ordered workstreams. Each workstream has one goal, explicit ownership and one done-check.\n4. Load zero to two genuinely matching skills per workstream, just in time. Available skills are not active or loaded skills.\n5. Execute one dependency layer at a time. Parallelize only independent ownership.\n6. Verify each acceptance claim with the cheapest sufficient evidence, then stop.\n\nFor a single-step fix, do the plain work plainly. A typo or literal text replacement needs no orchestra.\n\n## Context economy\n\nStart from the registered project snapshot and reuse verified evidence. Give workers minimal task packets, never the full conversation or the complete skill library. Load project-registered technology skills only when relevant to the owned work. Search the available catalog only when the current task has an unmet specialist need.\n\n## Verification ladder\n\nUse only as many rungs as the claim requires:\n\n1. Exact diff, search, parse or other static evidence tied to the changed claim.\n2. Narrow existing lint, typecheck, unit or component checks for the affected scope.\n3. Broader build, integration or end-to-end checks when boundaries or behavior justify them.\n4. Independent review for material standard work and all high-risk work.\n\nHeaded browser use is opt-in. Use it only when the user requested it, or when a named acceptance criterion cannot be settled by static, automated or structural evidence. In the latter case, explain the gap and obtain approval before opening a browser. Never create a browser or screenshot harness as a side effect of another task.\n\n## Completion\n\nReport what changed, which claims were verified, which checks were intentionally not run, loaded skills, defaults chosen and remaining uncertainty. An honestly bounded verification gap is better than an expensive unrelated check.\n";
2
+ //# sourceMappingURL=task-conductor-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-conductor-skill.d.ts","sourceRoot":"","sources":["../../src/templates/task-conductor-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,mqHAgD9B,CAAC"}
@@ -0,0 +1,50 @@
1
+ export const taskConductorSkill = `---
2
+ name: task-conductor
3
+ description: Use as the orchestrator's central routing discipline for multi-part work. Decompose by dependency, load skills just in time, scale ceremony to risk, and stop verification at the cheapest sufficient evidence. Do not use the full conductor workflow for one-line or single-step fixes.
4
+ ---
5
+
6
+ # Task Conductor
7
+
8
+ Read the complete brief before deciding how much process it needs. Optimize jointly for correctness, elapsed time and context cost. More ceremony is not more correctness when it does not reduce a concrete risk.
9
+
10
+ ## Classify before decomposing
11
+
12
+ - **trivial**: one local, reversible change with no behavior, contract, dependency, security, data or architecture impact. Use one fast worker. Keep the approved plan to one compact paragraph. Do not create workstreams, run broad discovery, request independent review or open a browser. Verify the exact diff and the changed claim only.
13
+ - **standard**: bounded behavior spanning a few related files. Use the smallest capable worker set, focused discovery and targeted automated checks. Add independent review only when the diff is material or crosses a boundary.
14
+ - **high-risk**: security, authentication, payments, persistence, migrations, public contracts, concurrency, destructive operations or wide architectural impact. Use complex workers, explicit decomposition, strong verification and independent review.
15
+
16
+ Escalate the tier when scope expands, a check fails unexpectedly, verified facts contradict the plan or the change crosses a risk boundary. Record the reason. Never lower a tier merely to save cost.
17
+
18
+ ## Conduct only when needed
19
+
20
+ For a multi-part brief:
21
+
22
+ 1. Extract deliverables, actions, constraints, acceptance criteria and affected surfaces.
23
+ 2. Trace existing code and contracts before designing. Do not invent layers the brief does not need.
24
+ 3. Split into dependency-ordered workstreams. Each workstream has one goal, explicit ownership and one done-check.
25
+ 4. Load zero to two genuinely matching skills per workstream, just in time. Available skills are not active or loaded skills.
26
+ 5. Execute one dependency layer at a time. Parallelize only independent ownership.
27
+ 6. Verify each acceptance claim with the cheapest sufficient evidence, then stop.
28
+
29
+ For a single-step fix, do the plain work plainly. A typo or literal text replacement needs no orchestra.
30
+
31
+ ## Context economy
32
+
33
+ Start from the registered project snapshot and reuse verified evidence. Give workers minimal task packets, never the full conversation or the complete skill library. Load project-registered technology skills only when relevant to the owned work. Search the available catalog only when the current task has an unmet specialist need.
34
+
35
+ ## Verification ladder
36
+
37
+ Use only as many rungs as the claim requires:
38
+
39
+ 1. Exact diff, search, parse or other static evidence tied to the changed claim.
40
+ 2. Narrow existing lint, typecheck, unit or component checks for the affected scope.
41
+ 3. Broader build, integration or end-to-end checks when boundaries or behavior justify them.
42
+ 4. Independent review for material standard work and all high-risk work.
43
+
44
+ Headed browser use is opt-in. Use it only when the user requested it, or when a named acceptance criterion cannot be settled by static, automated or structural evidence. In the latter case, explain the gap and obtain approval before opening a browser. Never create a browser or screenshot harness as a side effect of another task.
45
+
46
+ ## Completion
47
+
48
+ Report what changed, which claims were verified, which checks were intentionally not run, loaded skills, defaults chosen and remaining uncertainty. An honestly bounded verification gap is better than an expensive unrelated check.
49
+ `;
50
+ //# sourceMappingURL=task-conductor-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-conductor-skill.js","sourceRoot":"","sources":["../../src/templates/task-conductor-skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDjC,CAAC"}
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "synorch",
3
- "version": "0.1.0",
4
- "description": "Provider-neutral AI orchestration structure generator for Codex and Claude Code.",
5
- "keywords": [
6
- "ai",
7
- "agents",
8
- "orchestration",
9
- "codex",
10
- "claude-code",
11
- "cli"
12
- ],
13
- "license": "MIT",
14
- "author": "Tunahan Tuna",
15
- "repository": {
16
- "type": "git",
17
- "url": "git+https://github.com/TunahanTuna/synorch.git"
18
- },
19
- "homepage": "https://github.com/TunahanTuna/synorch#readme",
20
- "bugs": {
21
- "url": "https://github.com/TunahanTuna/synorch/issues"
22
- },
23
- "type": "module",
24
- "bin": {
25
- "syn": "dist/cli.js",
26
- "synorch": "dist/cli.js"
27
- },
28
- "files": [
29
- "dist",
30
- "skill-sources",
31
- "README.md",
32
- "CHANGELOG.md",
33
- "LICENSE"
34
- ],
35
- "scripts": {
36
- "build": "tsc -p tsconfig.build.json",
37
- "dev": "node src/cli.ts",
38
- "typecheck": "tsc -p tsconfig.json --noEmit",
39
- "test": "node --test tests/*.test.ts",
40
- "check": "pnpm typecheck && pnpm test && pnpm build",
41
- "prepack": "pnpm check",
42
- "release:dry-run": "npm publish --dry-run"
43
- },
44
- "engines": {
45
- "node": ">=24.0.0"
46
- },
47
- "publishConfig": {
48
- "access": "public"
49
- },
50
- "packageManager": "pnpm@11.19.0",
51
- "dependencies": {
52
- "yaml": "^2.8.1",
53
- "zod": "^4.1.11"
54
- },
55
- "devDependencies": {
56
- "@types/node": "^24.10.0",
57
- "typescript": "^5.9.3"
58
- }
59
- }
1
+ {
2
+ "name": "synorch",
3
+ "version": "0.2.0",
4
+ "description": "Provider-neutral AI orchestration structure generator for Codex and Claude Code.",
5
+ "keywords": [
6
+ "ai",
7
+ "agents",
8
+ "orchestration",
9
+ "codex",
10
+ "claude-code",
11
+ "cli"
12
+ ],
13
+ "license": "MIT",
14
+ "author": "Tunahan Tuna",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/TunahanTuna/synorch.git"
18
+ },
19
+ "homepage": "https://github.com/TunahanTuna/synorch#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/TunahanTuna/synorch/issues"
22
+ },
23
+ "type": "module",
24
+ "bin": {
25
+ "syn": "dist/cli.js",
26
+ "synorch": "dist/cli.js"
27
+ },
28
+ "files": [
29
+ "dist",
30
+ "skill-sources",
31
+ "README.md",
32
+ "CHANGELOG.md",
33
+ "LICENSE"
34
+ ],
35
+ "scripts": {
36
+ "build": "tsc -p tsconfig.build.json",
37
+ "dev": "node src/cli.ts",
38
+ "typecheck": "tsc -p tsconfig.json --noEmit",
39
+ "test": "node --test tests/*.test.ts",
40
+ "check": "pnpm typecheck && pnpm test && pnpm build",
41
+ "prepack": "pnpm check",
42
+ "release:dry-run": "npm publish --dry-run"
43
+ },
44
+ "engines": {
45
+ "node": ">=24.0.0"
46
+ },
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "packageManager": "pnpm@11.19.0",
51
+ "dependencies": {
52
+ "yaml": "^2.8.1",
53
+ "zod": "^4.1.11"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^24.10.0",
57
+ "typescript": "^5.9.3"
58
+ }
59
+ }
@@ -1,158 +0,0 @@
1
- ---
2
- name: task-conductor
3
- description: Orchestrate multi-part work briefs end to end by decomposing them and loading the right skill for each part - when the user describes a task, user story or feature request spanning multiple concerns (UI plus data plus tests, design plus implementation plus release), parse the brief, split it into ordered workstreams, map each to the best-matching skill from the session's live skill inventory, load skills just-in-time, execute movement by movement under a strict code contract (codebase conformance, SOLID, zero comments, anti-spaghetti decomposition) and verify against the brief. Includes a fullstack slicing pass - trace the work through database, backend and frontend, agree the API contract before either side is built, and order the slice data to contract to backend to frontend to integration. Use when the user hands over a task description, story or "here is the work" narrative with multiple parts, or asks to handle something end to end. Not for single-step questions or one-line fixes. Türkçe tetikleyiciler - "bize bir task geldi", "iş şu şekilde", "görev şu", "yapılacaklar şunlar", "şöyle bir talep var", "hikayesi şu", "task'ı anlatıyorum", "uçtan uca hallet", "gerekli skilleri kullanarak yap", "backend frontend ayır", "uçtan uca tasarla".
4
- argument-hint: "[task açıklaması]"
5
- ---
6
-
7
- # Task Conductor
8
-
9
- You are the conductor. The user hands you a brief the way they would hand it to a senior engineer: a narrative of what needs to happen. Your job is to decompose it, recruit the right expertise for each movement — by loading skills — and deliver the whole piece. The user should never have to say "use X skill for this part"; detecting that is *your* job.
10
-
11
- Always communicate with the user in their own language.
12
-
13
- ## Non-negotiables
14
-
15
- 1. Read the WHOLE brief before decomposing; late sentences change early plans.
16
- 2. Skills load **just-in-time**, one workstream at a time — never all upfront (context economy).
17
- 3. Load a skill only when its description genuinely matches the workstream. No skill theater: a loaded skill's rules are followed, not decorated with. Plain work is done plainly.
18
- 4. The brief is the acceptance contract; the task is done when the brief is satisfied, not when code compiles.
19
- 5. Ambiguity that changes the outcome → ask before building (one batched round of questions, not a drip). Ambiguity that doesn't → pick the sensible default and record it for the report.
20
- 6. Nothing in the brief gets silently dropped. Can't do a part? Say so in the plan, not in the postmortem.
21
- 7. Every line of code produced in any workstream falls under the **Code Contract** below — regardless of which skill is loaded. The contract is the floor; loaded skills build on it, never under it.
22
-
23
- ## Phase 1 — Parse the brief
24
-
25
- Extract and restate:
26
-
27
- - **Deliverables** (the nouns: a table, a page, a release, an asset set)
28
- - **Actions** (the verbs: add, migrate, redesign, fix)
29
- - **Constraints** (stated or implied: "olabildiğince güzel görünmeli" = visual-craft constraint; "mevcut sayfaya" = integration constraint; performance, compatibility, deadline hints)
30
- - **Acceptance criteria** — stated ones verbatim; implied ones made explicit (a UI deliverable implies responsive + loading/empty/error states unless the brief says otherwise)
31
- - **Affected surfaces**: which files, pages, systems — locate them in the repo before planning
32
-
33
- Restate the task in 2–3 sentences in the user's language. If a critical fork is open (new page vs existing? which data source?), ask now — once, batched.
34
-
35
- ## Phase 2 — Decompose into workstreams
36
-
37
- - Split by **discipline and dependency**, not by sentence order in the brief.
38
- - Each workstream gets: a goal, its inputs, and a **done-check** (how you'll know it's finished).
39
- - Order by dependency: data contracts before UI, tokens before components, implementation before review, review before release.
40
- - Right-size it: 2–6 workstreams is typical. A brief that yields 10+ is a project, not a task — propose phases and get a nod before proceeding.
41
-
42
- ## Phase 2b — Fullstack slicing (whenever the brief crosses layers)
43
-
44
- Most real briefs are one vertical slice through database, backend and frontend, described from whichever end the requester happens to see. Before mapping skills, cut the slice properly — a slice split by layer *without* a contract between the layers is how frontend and backend meet at integration and discover they built different things.
45
-
46
- **Locate the slice in the existing system first.** Never design from the brief alone:
47
-
48
- - **Frontend-first briefs** ("bu ekranda şu alan da görünsün"): find the component, then the hook or service it calls, then the HTTP client method, then the endpoint, then the handler, then the query, then the tables. Follow the chain in the repo and write down each hop. The brief's real cost lives at the deepest hop it reaches.
49
- - **Backend-first briefs** ("şu alanı da dönelim"): find the endpoint and its response type, then every frontend consumer of that field or type. A response shape has consumers; changing it without finding them is how a page silently breaks.
50
- - **Data-first briefs** ("şu bilgiyi de tutalım"): find the table, its entities/models, every query that projects it, and every DTO that carries it upward.
51
-
52
- **Then define the contract before building either side.** The contract is the deliverable that unblocks parallel work:
53
-
54
- - Endpoint (method, path, status codes), request shape, response shape, error shape, pagination and filtering semantics, auth requirement.
55
- - Field names, types, nullability and units, agreed once — in the API's language, not the database's. A column rename must not become a frontend change.
56
- - Write it where the repo already keeps contracts (an OpenAPI file, a shared types package, a Zod schema module, the DTO records). If the repo has no such place, the response DTO plus the frontend type are the contract; keep them in sync deliberately and say so.
57
-
58
- **Order the slice by dependency, not by visibility:**
59
-
60
- 1. **Data** — schema and migration (db-schema-craft), because everything above it is shaped by it and it is the hardest thing to change later.
61
- 2. **Contract** — the API shape, stated explicitly and agreed before code on either side.
62
- 3. **Backend** — persistence, domain logic, endpoint (java-backend / dotnet-backend / node-backend, whichever the repo is), with the query cost considered as it is written (query-tuning).
63
- 4. **Frontend** — service/client layer against the contract first, then state, then UI (the repo's framework skill, then frontend-craft and the design skills as the brief's constraints demand).
64
- 5. **Integration** — the real page against the real endpoint against the real data.
65
-
66
- Deviations from this order are fine when justified: a frontend can be built against the agreed contract with a stub while the backend is written — but only *after* the contract exists, never instead of it.
67
-
68
- **Slice discipline:**
69
-
70
- - A layer is only in scope if the brief actually needs it. Not every task is fullstack; adding a backend workstream to a pure styling change is scope inflation.
71
- - **Never invent a layer to avoid touching another.** Computing in the frontend a value the backend should return, or storing a denormalized copy to dodge a join, is a decision that needs saying out loud — not a shortcut taken quietly.
72
- - Each layer's workstream carries its own done-check: migration applied and reversible; endpoint returning the contract shape with its error cases; frontend rendering loading, empty and error states from the real response.
73
- - **Say what the contract change breaks.** An existing endpoint's response shape, a shared type, a database column — list the other consumers you found, in the plan, before writing code.
74
-
75
- ## Phase 3 — Map skills to workstreams
76
-
77
- - **Source of truth is the live skill inventory in the current session context** (the available-skills listing with names and one-line descriptions). Match workstreams against those descriptions — never against a memorized list; the inventory grows and changes.
78
- - Per workstream select 0–2 skills. **Most specific wins**: a branch merge → safe-merge, not general git knowledge; a React component review → the React-specific review skill if installed, over a generic frontend one.
79
- - Stack cross-cutting craft only when the brief's constraints call for it: "güzel görünsün" pulls visual-craft skills (human-made-design, design-system); "akıcı olsun" pulls motion-craft; "hızlı olsun" pulls perf-audit.
80
- - **No matching skill → do the work with general expertise** and record the gap for the final report as a new-skill candidate.
81
- - Present the plan compactly — workstream → skill(s) → order — then start. Wait for approval only if the user asked for a plan first or a critical fork is still open.
82
-
83
- ## Phase 4 — Execute, movement by movement
84
-
85
- For each workstream in dependency order:
86
-
87
- 1. Load its skill(s) **now**, via the Skill tool.
88
- 2. Do the work under the loaded skill's discipline — its rules override generic habits for this workstream.
89
- 3. Run the workstream's done-check with the evidence ladder below before moving on.
90
- 4. Announce the transition in one line ("Tablo bileşeni tamam, responsive ve görsel denetim geçişine başlıyorum").
91
-
92
- Use the harness task list (TaskCreate/TaskUpdate) when there are 3+ workstreams so progress is visible. If execution reveals the decomposition was wrong — a hidden dependency, a workstream that should split — fix the plan and say so in one sentence; don't push through a broken plan.
93
-
94
- ## Verification policy — cheapest sufficient evidence, browser last
95
-
96
- Climb this ladder only as far as the claim requires, and stop:
97
-
98
- 1. **Static proof** — typecheck and build pass; the *compiled output* actually contains what was claimed (grep the built CSS/JS for the selector, class or symbol — a green build is not proof a class was generated); lint clean.
99
- 2. **Automated proof** — unit and component tests; the repo's existing headless E2E suite (`playwright test`) if one is already set up. Run them; quote the result.
100
- 3. **Structural proof** — read the integration points and show the required states (loading, empty, error, both themes, responsive breakpoints) exist as reachable code paths in the diff.
101
-
102
- **Driving a headed browser through the Chrome extension is opt-in, never a routine done-check.** Do not open tabs, navigate, click or screenshot to verify your own work by default. Reach for it only when:
103
-
104
- - the user asks for it in this session ("tarayıcıda aç", "ekran görüntüsü al", "canlı gör", "gözle kontrol et"), **or**
105
- - an acceptance criterion genuinely cannot be settled by the three rungs above — in which case name the criterion and ask first, rather than opening a browser and reporting afterwards.
106
-
107
- Setting up browser automation, a new E2E harness or a screenshot pipeline that the repo does not already have is its own workstream requiring a nod — never a side effect of verifying something else.
108
-
109
- When a visual criterion ends up unverified because no browser was used, report it as **unverified** in Phase 5. An honestly labelled gap costs the user less than an unrequested browser session, and far less than a claim dressed up as a check.
110
-
111
- ## The Code Contract (every line, every workstream, no exceptions)
112
-
113
- Workstreams may route to different skills, but all code written under this conductor obeys one contract:
114
-
115
- 1. **Codebase conformance first.** Before writing a line, read the neighboring and similar code in the repo; extract its naming, file placement, import style, state patterns and idioms. New code must read as if the codebase's own author wrote it. When the repo's convention conflicts with a general best practice, the repo wins — consistency beats preference. A genuinely harmful convention gets raised as its own proposed workstream, never silently "fixed" in passing.
116
- 2. **Zero comments.** Code communicates through names, types and structure: rename, extract a well-named function, or introduce a type instead of explaining in prose. The lone tolerated exception is an externally-imposed constraint impossible to express in code (a documented upstream bug workaround); everything else self-documents.
117
- 3. **Anti-spaghetti by construction — böl, parçala, yönet:**
118
- - Single responsibility per unit, one reason to change. God files and god functions are defects: functions readable without scrolling, files focused (roughly ≤300 lines — split *before* they grow past it).
119
- - Explicit component relationships: data flows down (props/parameters), events and results flow up; siblings never reach into each other; shared state lives at the lowest sufficient level. No reach-arounds, no hidden globals.
120
- - One-way dependency direction between layers (UI → logic → data); a lower layer never imports from a higher one; a cyclic import is a stop-and-fix signal, not a warning to ignore.
121
- - Composition over inheritance and over configuration flags. Duplication is cheaper than the wrong abstraction — extract on the second real duplication, not speculatively.
122
- 4. **SOLID, operationally:** SRP — one job per module/component. OCP — add variants by adding code (a new strategy, a new component), not by growing another if-branch inside stable code. LSP — anything claiming a contract honors all of it (no throws-NotImplemented subtypes). ISP — small, focused interfaces and prop sets; no 20-prop do-everything components. DIP — boundaries depend on abstractions: inject the client/repository; business logic never hard-codes I/O details.
123
- 5. **Proportionality.** The ceremony scales with blast radius: core modules get the full treatment; a throwaway script gets clean naming and small functions, not an interface hierarchy. SOLID is a discipline, not enterprise theater.
124
-
125
- ## Phase 5 — Verify against the brief, then report
126
-
127
- - Walk the Phase 1 acceptance criteria one by one: **met / not met / consciously changed** (with the reason).
128
- - **Code Contract audit** on the full diff: zero comments, no unit past its size guardrail, dependencies flow one way, component relationships explicit, and the diff reads like the repo's own author wrote it.
129
- - **Integration check** — the parts must work *together*, not just in isolation: the new table is wired into the real page with real data, in both themes, at mobile width; not merely a component in a sandbox. Settle it with the evidence ladder — imports and props traced end to end, tests over the composed page, responsive and theme paths present in the diff. What the ladder cannot reach is reported unverified, not browsed for uninvited.
130
- - Report, in the user's language: what was delivered; **which skill handled which part** (transparency builds trust in the routing); defaults chosen on ambiguities; anything not done and why.
131
- - **Skill gaps**: workstreams that had no matching skill — name them as candidates for the user's skill library ("bu iş türü için skill yoktu; ingenium'a eklemeye değer olabilir").
132
-
133
- ## Worked example
134
-
135
- Brief: *"Sayfaya yeni bir tablo eklenecek, olabildiğince güzel görünmeli."*
136
-
137
- | # | Workstream | Skill(s) |
138
- |---|---|---|
139
- | 1 | Locate page, data contract for rows (types, fetch, sort/filter needs) | data-fetching skill if installed, else plain |
140
- | 2 | Build the table (semantic markup, states, keyboard nav, responsive strategy) | frontend-craft |
141
- | 3 | Visual craft pass (tokens, typography, de-genericize) | design-system + human-made-design |
142
- | 4 | Integrate + verify (real data on the real page, loading/empty/error, mobile, both themes) | conductor's own done-check |
143
-
144
- Brief: *"Sipariş detayında kargo takip numarası da görünsün."* — a frontend-shaped sentence that is actually a full vertical slice:
145
-
146
- | # | Workstream | Skill(s) |
147
- |---|---|---|
148
- | 0 | Trace the slice: component → hook → client method → endpoint → handler → query → table. Report which hops are missing | conductor (Phase 2b) |
149
- | 1 | Column plus migration for the tracking number, nullable, expand/contract safe | db-schema-craft |
150
- | 2 | Contract: the field added to the order-detail response DTO, type and nullability agreed | conductor (Phase 2b) |
151
- | 3 | Persistence, mapping and endpoint change; verify the read did not gain a join it cannot afford | the repo's backend skill + query-tuning |
152
- | 4 | Client type and service layer against the contract, then the UI, with an empty state for "not shipped yet" | the repo's frontend framework skill + frontend-craft |
153
- | 5 | Integrate + verify end to end against the real endpoint | conductor's own done-check |
154
-
155
- ## Anti-patterns
156
-
157
- Building both sides of a slice before the contract is agreed; changing a response shape without finding its other consumers; splitting a brief by layer and calling that a plan; treating a frontend-worded brief as a frontend-only task without tracing it down to the query; loading every possibly-relevant skill upfront; skill theater (loading then ignoring); conducting a one-liner (a typo fix needs no orchestra); silently dropping brief items that turned out hard; declaring done without the integration check; opening a headed browser as a reflex when a build, a grep of the compiled output or an existing test would settle it; standing up an E2E or screenshot pipeline nobody asked for; asking questions one at a time across five messages; comment-splaining instead of naming; growing a god file because splitting felt like extra work.
158
-