Holix sdd propose
Skill javded-itres/Holix/core/skills/bundled/holix-sdd-propose
Helix is a powerful self-learning AI agent with memory, skills, and the ability to recall tools. It learns from successful tasks and creates reusable skills for the future.
npx -y skills add javded-itres/Holix --skill holix-sdd-proposeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create Spec-Driven Development changes (OpenSpec-style) — multi-project openspec, understanding gate, assigned tasks before coding
SKILL.md
6.9 KB, as published. Nobody here has run it
When to use
User wants a non-trivial feature, API, schema, or product change. Work starts with a specification, not code.
Language (Studio locale)
Match the user's Studio UI language (ru or en only):
- Chat (questions, summaries, progress) — that language only
- All SDD artifacts via
sdd_write_artifact(proposal, design, specs, tasks) — that language only sdd_update_understandingsummary/questions— that language only- Do not mix languages; do not write specs in the other language
- Structural OpenSpec markers may stay English (
## ADDED Requirements,GIVEN/WHEN/THEN), but narrative text, requirement titles, scenarios, and task descriptions must be in the selected locale
If the Studio prompt states locale=ru or locale=en, treat that as authoritative.
Multi-project workspaces
A workspace may contain several projects, each with its own openspec/.
sdd_list_projects— pick the projectpath(empty string = workspace root)- Pass
project=<path>to every subsequentsdd_*tool for that work
Workflow (propose)
-
sdd_statuswithproject=— if not initialized →sdd_initwith the sameproject= -
sdd_list_specs+sdd_read_specfor relevant domains -
sdd_list_changes— avoid duplicate open changes -
sdd_create_changewith slug id andrequest=(user request text) -
Understanding gate (if enabled in user prefs — see create_change response).
Before any clarifying questions to the user, complete this order:
- Existing SDD knowledge
sdd_list_specs+sdd_read_specfor relevant domains (openspec/specs/)sdd_list_changeswithinclude_archive=true- Read related archived change artifacts under
openspec/changes/archive/(proposal, specs, design, tasks) and any overlapping open changes
- Project context /
/initif needed- Read
.holix/HOLIX.md(and project-local notes if any) - If missing, empty, or insufficient for this request/domain: run project
onboarding equivalent to
/initfor the project path (scan layout + key files; update HOLIX.md viaupdate_holix_section, or ask the user once to run/init <path>if you cannot write). Do not skip when the codebase is unknown.
- Read
- Assess understanding
- Call
sdd_update_understandingwith honestscore(0–100) andsummaryof what you learned from main specs, archives, and HOLIX — before dumping questions at the user
- Call
- Only then ask residual clarifying questions in chat
- After each answer:
sdd_update_understandingagain withuser_answerand updatedscore/questions - If
score < threshold→ keep clarifying (statusclarifying) - If
score ≥ threshold→ statusready: offer proceed or more questions - If later answers drop
scorebelow threshold → new clarifying cycle
- After each answer:
- Only after user agrees to proceed:
sdd_confirm_understanding
- Do not fill full proposal/specs/tasks until confirmed (or gate disabled/
skipped) - Do not open with a long questionnaire before steps 1–3
- Existing SDD knowledge
-
Fill artifacts via
sdd_write_artifactonly (notwrite_file/ inventing paths):- proposal →
openspec/changes/<id>/proposal.md - design →
openspec/changes/<id>/design.md - tasks →
openspec/changes/<id>/tasks.md - specs →
openspec/changes/<id>/specs/<domain>/spec.md(passdomain=or omit) - There is no
openspec/changes/<id>/specs.md— do notread_filethat path - Prefer
sdd_status(change_id=…)→artifact_pathsbefore reading anything - proposal content — Why / What / Impact
- specs content — delta with
## ADDED|MODIFIED|REMOVED Requirementsand GIVEN/WHEN/THEN - design content — approach + task→assignee table
- tasks content — checklist with assignees (see below)
- proposal →
Assignees (you choose who does the work)
- Call
list_subagent_typesfirst. - Custom types (user-created Agents tab): prefer matching custom agents by role.
- No custom types: pick a built-in (
coder,reviewer,researcher,analyst,writer,web_researcher) that fits each task. main: shared / risky / merge-conflict work that must stay on the main agent.- Apply mode is chosen later by the user:
- self — assignees are ignored; main does everything (no need to over-optimize assignees).
- subagents / hybrid — assignees drive dispatch; task graph controls order:
only ready tasks spawn (deps done); later waves auto-dispatch after completion.
Same type on many ready tasks → parallel jobs
type-1,type-2, …
tasks.md format (required — OpenSpec Holix checklist only)
Studio and sdd_* tools parse only checkbox lines. Free-form sections are rejected.
Correct (required):
# Tasks: <change-id>
## 1. Implementation
- [ ] 1.1 Add OAuth endpoints
- **assignee:** `coder`
- **reason:** isolated API surface
- **depends_on:**
- [ ] 1.2 Wire UI to OAuth (after API)
- **assignee:** `coder`
- **reason:** needs 1.1
- **depends_on:** `1.1`
- [ ] 1.3 Shared auth config
- **assignee:** `main`
- **reason:** conflict-prone shared code
- **depends_on:** `1.1`
Wrong (not visible in UI — do not use):
## 1. Add OAuth endpoints
- **Описание:** …
- **Исполнитель:** coder
- **Результат:** …
Rules:
- Every task is
- [ ] <id> <title>(or- [x]when done) - Nested
- **assignee:** \type`is mandatory structure (main, subagent type, orunassigned`) - Optional
- **reason:** … - Optional
- **depends_on:** \1.1, 1.2`` — execution graph (empty = no explicit deps) - Same-section order (1.1 before 1.2) is inferred when
depends_onis empty - Parallel work: independent sections (1.x vs 2.x) or shared
depends_ononly - Use
sdd_write_artifact(artifact=tasks, …)only — never invent another schema
Assignees: main or a type name from list_subagent_types (custom or built-in).
sdd_statuswithchange_iduntilapply_ready: true- Stop and let the user review. Do not implement until apply skill / user asks.
Do NOT
- Do not write product code during propose
- Prefer real type names for subagents/hybrid;
unassignedis OK for modeself(runs on main), but blocks apply-ready for puresubagents - Do not skip reading main specs for brownfield work
- Do not skip understanding gate when it is enabled and status is not
confirmed/skipped - Do not write SDD artifacts or clarifying questions in a language other than the user's Studio locale (
ruoren)