with one click
samvil-seed
// MCP-driven seed stage: crystallize interview-summary.md into project.seed.json and chain portably.
// MCP-driven seed stage: crystallize interview-summary.md into project.seed.json and chain portably.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | samvil-seed |
| description | MCP-driven seed stage: crystallize interview-summary.md into project.seed.json and chain portably. |
This is the v3.3 ultra-thin PoC. Full rules are preserved in
skills/samvil-seed/SKILL.legacy.md; use it for schema mapping, validation,
presentation, and defaults.
state._brownfield_seed_merged == true AND project.seed.json exists →
skip "Build Seed" step entirely. Instead:
project.seed.json (already written by merge_brownfield_seed).status:existing features (existing) + status:new features (new additions).이 병합된 seed가 맞나요? → 맞아, 진행 / 수정 필요.
save_seed_version + complete_stage, append handoff.md, chain to samvil-council.project.state.json for session_id, current_stage, _brownfield_seed_merged, and host name
(host, runtime, or agent_host; default generic).project.config.json for selected_tier / samvil_tier.mcp__samvil_mcp__load_interview_progress(project_root=".") — if exists==true, use the returned ac_by_phase and answers_by_phase as the primary source. AC candidates are the consolidation base (do not regenerate from scratch).
b. Read interview-summary.md from disk regardless — used as supplementary narrative for non-AC fields (description, tech stack, constraints).
c. If neither exists → halt with a clear error; samvil-interview must run first.skills/samvil-seed/SKILL.legacy.md for seed construction rules.Call:
mcp__samvil_mcp__get_orchestration_state(session_id="<session_id>")
mcp__samvil_mcp__stage_can_proceed(session_id="<session_id>", target_stage="seed")
mcp__samvil_mcp__resolve_host_capability(host_name="<host>")
mcp__samvil_mcp__host_chain_strategy(host_name="<host>")
If stage_can_proceed.can_proceed is false, show blockers and stop.
Consolidate (v4.19, when load_interview_progress.exists == true):
ac_by_phase[<phase>] entry as a confirmed AC candidate that the user already saw and approved during the interview.interview-summary.md narrative for feature names; LLM judgment for clustering when phase-to-feature is non-obvious).F<N>.AC<N> per references/ac-tree-guide.md (each AC gets id, description, status: pending, evidence: []).Fallback (no progress file or empty): convert interview-summary.md into valid v3 project.seed.json per the legacy regeneration rules.
In both paths: validate against references/seed-schema.json, present, and ask approval. If edits are requested, revise and re-present.
project.seed.json.mcp__samvil_mcp__save_seed_version(
session_id="<session_id>",
version=1,
seed_json="<escaped approved seed JSON>",
change_summary="Initial seed from interview"
)
mcp__samvil_mcp__complete_stage(
session_id="<session_id>",
stage="seed",
verdict="pass"
)
.samvil/handoff.md entry; never overwrite.mcp__samvil_mcp__clear_interview_progress(project_root=".") — interview-progress.json is no longer authoritative once seed.json is approved (interview-summary.md remains the narrative record).Use host_chain_strategy.chain_via:
skill_tool: invoke samvil-council for standard/thorough/full, or
samvil-design for minimal.file_marker: write .samvil/next-skill.json:{
"schema_version": "1.0",
"chain_via": "file_marker",
"host": "<host>",
"next_skill": "samvil-design",
"reason": "minimal tier skips council",
"from_stage": "seed",
"created_by": "samvil-seed"
}
For standard/thorough/full, use samvil-council.
If MCP is unavailable, fall back to the legacy chaining rules in
SKILL.legacy.md and mention that orchestration was degraded.