AI is very good at making the first plausible direction look finished. The polish can hide a more important question: did we choose the right branch at all?
Unbox Me interrupts premature convergence. It helps you expose the assumption holding a design in place, test vague dissatisfaction with concrete contrasts, and explore structurally different directions before implementation makes the current path expensive to leave.
| When you notice… | Unbox Me will… | So you can… |
|---|---|---|
| “It is polished, but generic.” | Separate fixed constraints from hidden assumptions | Change the structure, not just the styling |
| Brainstorming keeps circling one idea | Create small, contrasting diagnostic probes | Find the branch that produces a useful reaction |
| A system is accumulating patches | Expose the assumption holding the branch in place | Reconsider the architecture before adding more machinery |
| You cannot explain what feels wrong | Ask for closer / farther / irrelevant comparisons | Respond to concrete alternatives instead of abstract questions |
If the current agent can access the network and write to the local filesystem, this is the easiest way to start:
Install Unbox Me from https://github.com/Octmoe/unbox-me. If this environment supports Codex plugins, install the package in plugins/unbox-me; otherwise install the standalone skill in unbox-me into the local skills directory. Verify that it can be discovered and invoked. Once it is ready, briefly explain what Unbox Me does, when I should use it, and give one example based on my current work.
The agent may ask for permission before downloading or writing files.
If the skill is not installed, copy and paste this prompt directly:
Perform a design unboxing process on the current design.
The design appears to have converged, but I am still dissatisfied and may not be able to explain exactly why.
First, infer 3 to 5 potentially problematic leaf nodes from different branches of the design tree. Treat them as hypotheses, not facts. For each node, propose one small, contrasting change so I can judge whether it feels closer, farther away, or irrelevant.
Once a likely node is found, identify the assumption holding it in place. Provide structural alternatives by deleting, reversing, or replacing that assumption. Do not merely patch, fine-tune, or rename the existing design.
If the change is still not enough, move up exactly one level:
detail → component → system → objective → problem frame
Treat only the constraints I explicitly declare non-negotiable as fixed. Stop as soon as a meaningful new direction emerges, then summarize what was preserved, what was broken, and what new possibilities were opened.
flowchart LR
A["Frame the current branch"] --> B["Probe 3–5 leaf nodes"]
B --> C["Break one assumption"]
C --> D{"Boundary moved enough?"}
D -- "No" --> E["Escalate one level"]
E --> C
D -- "Yes" --> F["Select a direction"]
F --> G["Hand off to implementation"]
Each break must change the structure in one of three ways:
| Move | Question | Typical effect |
|---|---|---|
| Delete | What if this assumption or element did not exist? | Removes inherited complexity |
| Reverse | What if its role, goal, order, or relationship ran the other way? | Reveals asymmetries and neglected actors |
| Replace | What different structure could serve the underlying need? | Opens a genuinely new branch |
If none of the breaks moves the boundary far enough, the skill escalates exactly one level:
detail → component → system → objective → problem frame
| Use case | Try this |
|---|---|
| Product interface | This dashboard is polished but generic. Use $unbox-me before changing the visuals. |
| Software architecture | Use $unbox-me to check whether our queues and caches are optimizing the wrong architecture. |
| Brand campaign | The campaign is professional but forgettable. Use $unbox-me on the creative direction. |
| Story development | This premise keeps becoming a standard thriller. Use $unbox-me without adding random twists. |
| Product strategy | We are building another habit tracker. Use $unbox-me before we write the roadmap. |
| Writing and research | The argument is coherent but unsurprising. Use $unbox-me before drafting. |
See the detailed use cases for the current assumptions, structural breaks, and reasoning behind each example.
Download unbox-me-plugin-v0.1.0.zip from the latest release, or use the source package in plugins/unbox-me. The Plugin bundles the Skill, interface metadata, and visual identity in one validated package.
You can also ask a capable agent to perform the installation using the prompt near the top of this README.
Clone the repository:
git clone https://github.com/Octmoe/unbox-me.gitCopy the inner unbox-me directory into your Codex skills directory:
~/.codex/skills/unbox-me/
The installed folder should contain SKILL.md directly:
~/.codex/skills/unbox-me/SKILL.md
Restart Codex if the skill does not appear immediately.
Invoke the skill explicitly:
Use $unbox-me to reopen this idea before we settle on a direction.
Codex should select it automatically only after the user signals dissatisfaction with an existing direction, repeated convergence on similar variants, or a desire to challenge the assumptions holding that direction in place. Ordinary creative work or requests for alternatives do not trigger it by themselves.
Unbox Me is intentionally lightweight and follows the open Agent Skills format: it has no scripts, model-specific tool calls, or external service dependencies. Its behavior lives in unbox-me/SKILL.md, while the use cases are optional references. Most harnesses that support reusable instructions or prompt modules can adapt it with little work:
- Copy the
SKILL.mdinstructions into the harness's skill or instruction format. - Adapt the frontmatter and trigger description to the harness's registration convention.
- Replace the explicit
$unbox-meinvocation with that harness's invocation syntax. - Keep
references/use-cases.mdas an optional example library. - Use the prompt-only version as a quick migration test.
agents/openai.yaml contains Codex-specific interface metadata. Other harnesses can omit it or rewrite it in their own metadata format.
If a harness has no skill system, use the prompt-only version as a reusable system, developer, or user prompt.
unbox-me/
├── assets/
│ └── social-preview.png
├── LICENSE
├── README.md
├── README.zh-CN.md
├── plugins/
│ └── unbox-me/
│ ├── .codex-plugin/
│ │ └── plugin.json
│ ├── assets/
│ │ └── icon.png
│ └── skills/
│ └── unbox-me/
└── unbox-me/ # Standalone skill
├── SKILL.md
├── agents/
│ └── openai.yaml
├── assets/
│ └── icon.png
└── references/
└── use-cases.md
Released under the MIT License.
