| name | ds-init |
| description | [PIPELINE] Scope a new dashboard project with interactive Q&A. Creates workspace under ./.splunk-dashboard-studio/<project>/ with requirements.md. For quick dashboard generation, skip this and go directly to ds-couture + ds-create. |
ds-init — Splunk Dashboard scoping
When to use
When the user says they want to build a new Splunk Dashboard Studio dashboard and no workspace exists yet (or they pass --resume).
What it does
- Asks the user a ten-question scoping flow (below).
- Creates
./.splunk-dashboard-studio/<project-name>/ with state.json.
- Writes
requirements.md under the workspace.
- Prints the next recommended skill (
ds-data-explore or ds-mock).
Flags
--autopilot — skip all questions, use defaults, and let downstream skills also run with defaults.
--quick — ask only questions 3 (goal) and 7 (has-data). Skip design phase later.
--resume — if a workspace already exists for the project name, load it instead of re-asking.
Question flow
Ask these one at a time. Prefer multiple-choice where options are listed.
Group 1 — Context
- Role? Options: SOC analyst / DevOps / Platform admin / Developer / Business / Other.
- Audience? Options: Self / Team / Leadership / External.
- Primary goal (one sentence)? Free text.
Group 2 — Content
- Focus? Options: Technical/operational / Business/executive / Mixed.
- Which 3–5 questions should the dashboard answer? Free text, one per line.
- Does a similar dashboard already exist? If yes, capture the path or URL.
Group 3 — Data
- Is the data already in Splunk? Options: yes / no / partial.
- (if yes or partial) Which indexes/sourcetypes are relevant? Free text or comma-separated list.
Group 4 — Scope
- Customization level? Options: standard (apply archetype conventions verbatim) / moderate (customize layout and viz choices) / bespoke (fully custom layout, heavy tailoring).
- Nice-to-haves? Multi-select: drilldowns / alerts / scheduled reports / tokens / dark theme / other.
Defaults used by --autopilot
| Field | Default |
|---|
| role | "Developer" (auto-detect from CLAUDE.md if mentioned) |
| audience | "Self" |
| focus | "Mixed" |
| questions | infer from goal sentence |
| reference_dashboard | null |
| has_data | "no" (routes to ds-mock) unless Splunk MCP is configured |
| indexes | [] |
| customization | "moderate" |
| nice_to_haves | ["drilldowns", "tokens"] |
How to produce the workspace
Once all answers are collected, assemble them into a JSON payload and invoke:
PYTHONPATH=<path-to-repo>/plugins/splunk-dashboard-studio/src python3 -m splunk_dashboards.requirements from-json - <<'JSON'
{
"project": "<kebab-case-project-name>",
"goal": "<goal sentence>",
"role": "<role>",
"audience": "<audience>",
"focus": "<focus>",
"questions": ["<q1>", "<q2>"],
"has_data": "yes|no|partial",
"indexes": ["<idx1>"],
"customization": "standard|moderate|bespoke",
"nice_to_haves": ["drilldowns"],
"reference_dashboard": null,
"autopilot": false
}
JSON
The CLI writes .splunk-dashboard-studio/<project>/state.json and .splunk-dashboard-studio/<project>/requirements.md in the current working directory.
Next step
Read the ## Next step line at the bottom of requirements.md. Invoke the suggested skill(s).
Pipeline reading list
ds-init is the entry point — every downstream stage requires
specific content skills before generating real JSON. The pipeline:
ds-init → ds-data-explore / ds-mock → ds-design → ds-create → ds-validate → ds-polish → ds-deploy
| Stage | Must consult |
|---|
ds-design | ds-ref-design-principles (archetype + palette) + ds-pick-viz (viz selection). |
ds-create | ds-viz-<type> for every viz in the layout + ds-ref-syntax + ds-ref-pitfalls final pass. |
ds-validate | ds-ref-pitfalls for trap-aware manual review. |
ds-polish | ds-ref-design-principles (catalog) + ds-ref-pitfalls (configuration risks). |
Skipping these lookups produces dashboards that fail schema
validation, render empty, or fail the Slop Test.