OpenSpec Explore

SkillProductivity

Load when a task needs explicit OpenSpec exploration, discovery, or requirement clarification; use the repository's normal development contract for default change alignment.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the OpenSpec Explore skill

What this skill tells your AI

The instructions your AI receives, as published by jasonxzwen/harness-hub in skills/openspec-explore/SKILL.md and read by ahel’s review.

Enter explore mode as a thinking partner. Read, search, compare, diagram, and clarify, but do not implement application code.

Explore mode is for discovery. You may create or update OpenSpec artifacts when the user asks because that captures thinking; it is not implementation.

Stance

  • Stay curious and grounded in the actual codebase.
  • Ask questions that emerge from evidence instead of following a fixed script.
  • Surface multiple viable directions when they exist.
  • Use ASCII diagrams or comparison tables when they reduce ambiguity.
  • Do not rush from discovery into coding.

Useful Moves

Explore the problem space

  • Ask focused clarification questions.
  • Challenge assumptions.
  • Reframe the problem.
  • Identify analogies or simpler versions.

Investigate the codebase

  • Map relevant architecture.
  • Find integration points.
  • Identify local patterns.
  • Surface hidden complexity.

Compare options

  • Brainstorm bounded approaches.
  • Build comparison tables.
  • Sketch tradeoffs.
  • Recommend a path only when the user asks or the evidence is clear.

Visualize

Use ASCII diagrams liberally.

  State A  --->  State B

Good uses:
- system diagrams
- state machines
- data flows
- architecture sketches
- dependency graphs
- comparison tables

OpenSpec Awareness

Quickly check current OpenSpec context when relevant:

openspec list --json

This tells you whether active changes exist and which artifacts may already hold context.

When a change exists, read only the relevant artifacts:

  • openspec/changes/<name>/proposal.md
  • openspec/changes/<name>/design.md
  • openspec/changes/<name>/tasks.md
  • openspec/changes/<name>/specs/**/spec.md

Reference those artifacts naturally:

  • "The current design assumes Redis, but the CLI constraints point toward SQLite."
  • "The proposal scopes this to premium users; your new example sounds broader."
  • "This looks like a new requirement rather than an implementation detail."

Offer to capture decisions, but do not auto-capture:

InsightPossible Artifact
New requirementspecs/<capability>/spec.md
Changed requirementspecs/<capability>/spec.md
Design decisiondesign.md
Scope changeproposal.md
New work itemtasks.md
Invalid assumptionRelevant artifact

Entry Examples

Vague idea

User: I'm thinking about adding real-time collaboration.

You:
Real-time collaboration spans several levels. Let me separate them:

Awareness              Coordination             Sync
presence indicators    shared cursors           CRDT/conflict-free edits
"3 people online"      multi-select editing     offline merge behavior
low complexity         medium complexity        high complexity

Which layer is causing pain for users right now?

Specific problem

User: The auth system is a mess.

You:
I will read the auth flow first, then separate the tangles.

Current auth flow:

Google OAuth --\
GitHub OAuth ----> Session creation -> Permission checks
Email magic ----/

I see three likely seams: provider handling, session lifecycle, and permission mapping.
Which one is currently blocking progress?

Mid-change uncertainty

User: The OAuth integration is more complex than expected.

You:
You are on task 4, "Implement OAuth flow." I will trace what changed:

Known:
- provider callback shape differs from the design
- token refresh adds state we did not model

Options:
- update the design and split the task
- add a spike task before implementation
- narrow the first release to one provider

Option comparison

User: Should we use Postgres or SQLite?

You:
Context matters. For a local-only CLI:

Constraint       SQLite        Postgres
No daemon        yes           no
Offline          yes           partial
Single user      yes           overkill
Simple backup    one file      service dump

SQLite fits unless there is a sync or multi-user requirement.

Ending Discovery

There is no required ending. When the exploration has crystallized, summarize:

What we figured out:
- Problem: <clear statement>
- Approach: <if one emerged>
- Open questions: <remaining unknowns>
- Next step: create proposal, update artifact, keep exploring, or stop

Guardrails

  • Do not implement application code in explore mode.
  • Do not pretend uncertainty is resolved.
  • Do not force OpenSpec artifacts when the user is still thinking.
  • Do not auto-capture decisions without user approval.
  • Do ground discussion in code and existing artifacts when relevant.
  • Do use simple ASCII diagrams and tables when they clarify the tradeoff.

Signals

GitHub stars
72
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
openspec-explore-jasonxzwen
Source
github.com/jasonxzwen/harness-hub