iopsystems/skills-mcp/frame-problem

Claude Code and agent skill by iopsystems/skills-mcp

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Draft a **problem brief** — the "what actually is the problem" half of the paired briefs convention in knowledge-iop. A problem brief is written before any solution is proposed. Use this whenever the user says things like "we need a problem brief", "let's frame the problem", "what are we even solving", "capture the constraints", "I want to document a problem we can't solve yet", or any time they're about to design something but the problem hasn't been stated in one place. A problem brief can be orphan-of-solution — it's valuable even without a design. After framing a problem, the natural next step is `propose-design` (which `frames:` this brief).

Install

npx vskill@latest install iopsystems/skills-mcp/frame-problem

SKILL.md

Frame problem

You are drafting a problem brief in the knowledge-iop vault. A problem brief answers "what is actually going on here, and why does it resist easy solution?" — before anyone proposes a fix.

Before drafting — search first

  1. Invoke the vault-search skill (or call vault_search directly)

with keywords from the user's topic to find any existing problem-brief on this subject.

  1. If a match exists with status: draft, offer to continue editing

it instead of starting over — paired-brief convention favors amending a draft over proliferating near-duplicates.

  1. If a match exists with status: accepted, ask the user whether

they mean to supersede it (new understanding of the same situation) or whether this is a different problem that just shares keywords. Accepted briefs are immutable; new ones supersede.

  1. If a match exists with status: obsolete, warn the user — that

framing was already set aside; offer to supersede and surface the reason.

Frontmatter shape

yaml
---
id: <YYYY-MM-DD>-<short-slug>-problem
type: problem-brief
status: draft
author: <person>
created: <YYYY-MM-DD>
arc: <arc-id | omit if orphan-of-arc>
scopes: [<scope-id>, ...]
supersedes: <id | null>
relates_to: [<id>, ...]
conflicts_with: [<id>, ...]
depends_on: [<id>, ...]
tags: [<tag>, ...]
---

Required: id, type, status, author, created. Recommended: scopes, and arc if one is open that this belongs to.

The id is the stable handle. Convention: <date>-<slug>-problem. slug is 2–4 hyphenated words, lowercase, no filler.

Filename

Write to briefs/<id>.md. The briefs/ directory is flat; don't nest.

Body — the 6 questions

A problem brief answers, in this order:

  1. What is the actual problem? State it before any solution is in

mind. If you can't say it without saying "so we should …", keep refining.

  1. Why does it matter now? What has changed that makes this worth

writing down today?

  1. What constraints are we operating under? Hard limits — budget,

compatibility, team capacity, deadlines. Soft limits — aesthetic, strategic, cultural.

  1. What have we tried or considered? Include dead ends. Documenting

a rejected alternative is as valuable as proposing a new one.

  1. What are we explicitly not trying to solve? Adjacent problems we

acknowledge but are setting aside. Name them so the scope doesn't drift.

  1. What would change our analysis? If the answer is "nothing", the

brief is over-claimed. Name the conditions that would reopen the question.

Write in complete sentences. No bullet-ridden skeletons. A future reader — human or agent — should be able to infer the situation without further context.

Drafting workflow

  1. Search the vault (above).
  2. Ask the user the 6 questions if answers aren't already in the

conversation. Don't ask all at once — work through them.

  1. Propose frontmatter + body as a diff. Show the filename you plan

to write.

  1. On user approval, write the file.
  2. Commit via git add briefs/<id>.md && git commit -m "Frame: <one-line>".
  3. Tell the user the next step: "invoke propose-design now to

propose a solution that frames: this brief." Mention that if no design is forthcoming, a standalone problem brief is still valuable.

After commit

  • Do not run vault_reindex — the index auto-refreshes on next

query.

  • If the user wants to check downstream impact (are there drafts

elsewhere that relate?), invoke vault-search with the new id.

Do not

  • Do not include a "proposed solution" section. That's what

propose-design is for. Keep the two halves separate.

  • Do not write "TBD" fields. Either answer a question or drop the

frontmatter field.

  • Do not edit an accepted problem brief — supersede it instead.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/iopsystems/skills-mcp/frame-problem/badge)](https://verified-skill.com/skills/iopsystems/skills-mcp/frame-problem)

Something wrong with this skill or its page? Tell us.