dx-frame
Interview to settle the problem framing, alternatives, and user cases for a change or effort before planning — writes frame.md.
Skill by dikamilo
Chalk Labs
Need help deploying dx-frame?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dikamilo-dx-frame
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dx-frame
What's inside
- Skill name
dx-frame- Description
- Interview to settle the problem framing, alternatives, and user cases for a change or effort before planning — writes frame.md. Run again on one of an effort's slices to add that slice's own user cases.
- License
- MIT
- Instructions
- 50 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# dx-frame
Settle the **WHAT** before the **HOW**. Run a deep interview on problem framing and alternatives for a change or effort, then write `frame.md` in its folder. The interview is the cure for misalignment — a perfect plan on the wrong problem loses the day. This makes the framing half explicit and skippable, so `dx-plan` can jump straight to solution design.
**Guard.** Resolve `<id>` under `context/changes/` **or** `context/efforts/`. If it is missing, tell the user to run `/dx-new` first. If the path is under `context/archive/`, refuse — an archived container is done.
**Slice mode.** If `<id>` is a change with `effort: <effort-id>` set **and** that effort's `frame.md` already exists, this run is scoped to user cases only: the four core sections (real problem, who/what it affects, alternatives, out of scope) are already settled at the effort level — don't re-ask or rewrite them. Interview and write only this slice's own `## User cases`, additive to the parent's. If the parent effort has no `frame.md` yet, there is nothing to inherit — fall through to full framing below.
## 1 — Gather settled context
Read `change.md` (or `effort.md`) — note `type` and, for a change, `effort:`. Read every existing `research/<topic>.md`, and `diagnosis.md` and `brainstorm.md` if present, as **settled context**; don't re-ask what research already answered. A `brainstorm.md` already chose the route and priced the do-nothing — deepen its `## Conclusion & route` into a full framing rather than reopening it, and treat its `## Not doing` as out of scope already decided. In slice mode, also read the parent effort's `frame.md` in full, including its `## User cases` if present — those flows are already covered. Read any brief the container's `## Notes` names under `foundation/briefs/` — its tagged claims are sourced evidence, so don't re-interview what one already records; its `## Open questions` and `## Collection plan` are what is still unsettled, and a brief citing material fetched from outside the repo is read under `dx-references` topic `untrusted-content`. Read `foundation/glossary.md` for naming (a one-line habit — no section). Each artifact is a decision already made.
If the interview below surfaces a term that clashes with the glossary, is vague/overloaded, or finally gets pinned down, invoke `dx-domain` right then — don't just note it and keep talking.
## 2 — Interview (invoke `dx-references` with `interview`)
**One question at a time, each offering a few concrete options with one recommended**, walking the decision tree until the framing resolves. If the codebase or a research doc can answer a question, explore instead of asking. Scale the count down by whatever upstream already settled. Stay on the **WHAT** — the real problem, the alternatives, and (when the work is user-facing) the concrete user cases it must cover — never solution design; that is `dx-plan`'s job. Don't manufacture a reframe: "the initial framing was right" is a valid outcome.
**User cases scale by batching, not by one question per flow.** Print the candidate list as a table — who, trigger, outcome, source — as plain output *before* any question, then ask one question (confirm or edit); never ask the user to confirm what they haven't seen. Then spend extra questions only on flows still ambiguous after that. For an **effort**, keep the list to headline flows that matter for slicing — a sketch, not exhaustive, since slices don't exist yet. In **slice mode**, propose only this slice's candidate additions — flows the parent's sketch didn't name or under-specified for this slice — never re-list what the parent already settled.
If `change.md`'s `type` is `refactor` (or this is a refactor effort), **also invoke `dx-references` with `module-design`** and frame in its vocabulary — deep vs shallow modules, seams, the deletion test.
## 3 — Write `frame.md`
**Slice mode** writes only `## User cases` to this change's own `frame.md` — this slice's additional or refined flows. Don't restate the parent's list or touch its file.
Otherwise, write the full frame in the container's folder (`context/changes/<id>/frame.md` or `context/efforts/<id>/frame.md`), capturing:
- **The real problem** — one sentence, root not surface.
- **Who / what it affects** — the users, systems, or code touched.
- **Alternatives considered** — the framings weighed, and why the chosen one wins.
- **Out of scope** — what this explicitly does not address.
**User cases** — an optional fifth section, inserted after "Who / what it affects": include it only when the work is user-facing (a UI flow, an API surface, a CLI command) and has more than one flow worth distinguishing. One line each: who, triggered by what, to reach what outcome; note where each came from (already documented upstream, or discovered in this interview) so a reader knows what was newly settled. Omit the section entirely for internal/structural work (a pure refactor, infra, a schema-only migration) — never write it empty or "N/A".
Keep it tight and scannable. No solution phases, no file changes — that is planning.
## Done when
**Slice mode:** this change's `frame.md` exists with `## User cases`. **Otherwise:** `frame.md` exists with the four core sections above, plus `## User cases` when it applies. Either way, the container's `updated: <today>` is set. Then print and stop:
```
Frame written: context/{changes|efforts}/<id>/frame.md
Next: /dx-plan <id> (for a change)
or: /dx-roadmap <id> (for an effort)
```
Stop. Do not chain into another skill.From dikamilo/dx-workflow, MIT.
More from dikamilo/dx-workflow
- 0.628score
dx-brainstorm
dikamilo
Think through a raw idea before committing to it — weigh alternatives, price doing nothing, and route to a change, an effort, or nothing at all.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
dx-distill
dikamilo
Run a discovery conversation and write a brief — the problem, the evidence behind it, the scope, the decisions, and the next uncertainty to resolve.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-domain
dikamilo
Actively sharpen the ubiquitous language in foundation/glossary.md.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-diagnose
dikamilo
Feedback-loop-first diagnosis for bugs and performance regressions.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-references
dikamilo
Loads one or more dx shared reference documents by topic (space-separated, one call).
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
dx-standards-update
dikamilo
Create, edit, or promote a standard in context/standards/ — from the conversation, a graduated lesson, or another project.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-plan
dikamilo
Interview and write plan.md for a change — matches standards, surfaces priors, owns Progress.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-review-triage
dikamilo
Triage findings from a review report and apply the fixes you choose.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-roadmap
dikamilo
Decompose an effort into an ordered list of vertical slices and write roadmap.md.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-standards-discover
dikamilo
Mine the project's real conventions from tooling, code, and docs and write them into the standards layer.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-refactor-discover
dikamilo
Hunt the codebase for refactor opportunities, present them inline, and promote the ones you pick into changes.
SkillAFreshness: A★ 8Claude Code +9 - 0.621score
dx-research
dikamilo
Investigate one topic — codebase or external doc — and write it down with provenance for a plan to lean on.
SkillAFreshness: A★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Oct 7, 2026 (23 days ago)
- Last release
- Oct 7, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dikamilo/dx-workflow
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dikamilo
- 0.628score
dx-brainstorm
dikamilo
Think through a raw idea before committing to it — weigh alternatives, price doing nothing, and route to a change, an effort, or nothing at all.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
dx-distill
dikamilo
Run a discovery conversation and write a brief — the problem, the evidence behind it, the scope, the decisions, and the next uncertainty to resolve.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-references
dikamilo
Loads one or more dx shared reference documents by topic (space-separated, one call).
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-domain
dikamilo
Actively sharpen the ubiquitous language in foundation/glossary.md.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
dx-diagnose
dikamilo
Feedback-loop-first diagnosis for bugs and performance regressions.
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
dx-standards-update
dikamilo
Create, edit, or promote a standard in context/standards/ — from the conversation, a graduated lesson, or another project.
SkillAFreshness: A★ 8Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get dx-frame running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
dx-frame skill. Agent Mart. https://agentmart.dev/skills/dikamilo-dx-frame (last updated 2026-10-24)