From qino
Ecology for developing ideas through concept exploration, research, and implementation. ACTIVATE for dev work: - "what's next for [app]", "continue [app]", "work on [app]" - "build [feature]", "implement [feature]", "plan the iteration" - "read the implementation notes", "what's the iteration status" - "what should I build next", "next steps for [project]" ACTIVATE for bug tracking: - "file a bug", "log this bug", "create a bug ticket", "bug in [app]" - "/qino bug" ACTIVATE for concept work: - "explore [concept]", "go deeper into [idea]", "where am I", "what's here" - "capture this thought", "hold this", "note this" - "test through ecology", "compare these", "attune [quality]" ACTIVATE for navigation: - "use the active navigator", "activate navigator", "navigate [territory]" - "map this concept", "show me the terrain", "map the terrain for [territory]" - "update the navigator", "log this session" ACTIVATE for deck work: - "read this deck", "actualize [deck]", "open deck [name]" - "/qino deck [name]", "what's new in [deck]", "re-energize [deck]" ACTIVATE for research: - "start research on [topic]", "investigate [question]", "begin inquiry" ACTIVATE for lab mode (UI-mediated communication): - "use the lab", "lab mode", "work through qino-lab" ACTIVATE when in qino workspace (has .claude/qino-config.json). NOT implicit: arc capture requires explicit invocation ("/qino arc" or "capture an arc").
How this skill is triggered — by the user, by Claude, or both
Slash command
/qino:qinoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ecology for developing ideas. Natural language activation — users describe intent, Claude routes to the appropriate workflow.
workflows/arc-close.mdworkflows/arc-link.mdworkflows/arc-open.mdworkflows/arc.mdworkflows/attune.mdworkflows/bug.mdworkflows/capture.mdworkflows/compare.mdworkflows/concept-init.mdworkflows/concept-setup.mdworkflows/dev-setup.mdworkflows/explore.mdworkflows/home.mdworkflows/import.mdworkflows/lab.mdworkflows/navigate.mdworkflows/orientation.mdworkflows/protocol/capture.mdworkflows/protocol/deck.mdworkflows/protocol/dev-init.mdEcology for developing ideas. Natural language activation — users describe intent, Claude routes to the appropriate workflow.
Workflows execute in one of two modes based on their nature:
For: home, explore, capture, test, attune, compare, arc, orientation, lab, navigate, bug
These workflows involve multi-turn dialogue with the user. They execute in the main conversation — no Task tool, no subagent.
When a dialogue workflow is triggered:
workflows/explore.md)<!-- INJECT-START --> and <!-- INJECT-END --> markersThe persona is invisible. Do not announce "PERSONA ACTIVE" or show any process. Just follow the principles and workflow naturally.
Example (inject mode):
User: "explore qinolabs-homepage"
Claude: [Reads workflows/explore.md and agents/concept.md]
[Follows concept persona principles]
[Responds directly as the concept agent would]
"What part of qinolabs-homepage still feels alive when you think about it?"
For: import, dev-work, dev-init, dev-setup, workspace-init, research-init, research-setup, concept-init, concept-setup
These workflows involve heavy file reading, code changes, or scaffolding. They execute in an isolated subagent via the Task tool.
When a synthesis workflow is triggered:
Spawn the agent using Task tool with appropriate subagent_type:
qino:concept — for import, concept-init, concept-setupqino:dev — for dev-init, dev-setup, workspace-init, dev-workqino:research — for research-init, research-setupPass context in the Task prompt:
Let the agent work — agent returns results; main conversation stays clean
Example (spawn mode):
User: "bring in /path/to/notes.md"
Claude: [Uses Task tool]
subagent_type: "qino:concept"
prompt: "Read and follow the workflow at plugins/qino/skills/qino/workflows/import.md
Context:
- Workspace: concepts at /path/to/concepts-repo
- Source file: /path/to/notes.md
User wants to import this material into concepts."
Inject mode preserves full conversation context — essential for dialogue where user's words and energy matter.
Spawn mode provides context isolation — prevents heavy file reading and synthesis from filling the main context window.
Before routing, detect workspace context:
.claude/qino-config.json in current directoryrepoType field to determine context and apply structure conventions (see references/dev/repo-conventions.md for patterns)| repoType | Context | Behavior |
|---|---|---|
"concepts" or absent | Concepts workspace | Full concept exploration |
"research" | Research workspace | Research-oriented routing |
"implementation" | Implementation project | Dev context, edge-based concept discovery |
"tool" | Tool development | Minimal context |
Extract relevant paths:
"concept grounds" edges in the implementation graph (not stored in config)Detect protocol:
Check for protocol field in qino-config.json. When protocol: "qino" is present, set context.protocol = "qino". This activates protocol-aware workflow routing — graph-based structure instead of manifest-based.
When protocol is detected:
agents/protocol-structure.md alongside agents/concept.md for inject workflowsworkflows/protocol/ versionsworkflows/protocol/ versionsagents/protocol-structure.md alongside agents/dev.md for spawn workflowsreferences/protocol/protocol-spec.md for data model detailsDetect ecosystem concepts:
When the target concept lives in ecosystem/ (check manifest.json path field) or has type "ecosystem" in graph.json, recognize this as ecosystem work — distinct from app concept work.
Pass this awareness to the agent:
"This is ecosystem work — distinctions forming, not just ideas developing. Hold questions longer."
If no qino-config.json exists:
Before executing a workflow (inject or spawn), assess whether the conversation already carries momentum.
Momentum exists when the user has:
When momentum exists:
Summarize what's already surfaced:
Pass this to the agent as "already surfaced" context (see example below)
Tell the agent to skip exploratory questioning and go directly to working with what's been expressed
Example with momentum (inject mode — explore workflow):
User has been discussing their vision for a tools page - an interactive terminal
playground with guided steps, split layout, demonstrating fluidity between
concept/research/implementation work.
Claude: [Reads workflows/explore.md and agents/concept.md persona]
[Recognizes momentum — user has already surfaced what's alive]
[Skips the alive-thread question, goes directly to working]
"The terminal playground idea — guidance alongside experience, process becoming
artifact. Let me see how this lands in the concept."
[Reads concept, proposes integration]
Example with momentum (spawn mode — import workflow):
User has been discussing specific notes they want to bring in, with context
about which concept they connect to.
Claude: [Uses Task tool]
subagent_type: "qino:concept"
prompt: "Read and follow the workflow at plugins/qino/skills/qino/workflows/import.md
MOMENTUM: User has already indicated:
- Source file: /path/to/notes.md
- Target concept: qinolabs-homepage
- Connection: these notes relate to the tools page vision
Skip exploratory questions. Go directly to reading and proposing integration."
Example with decision context (inject mode — test workflow):
User is deciding between embedding approaches for the qino-journey concept.
The conversation contains specific options being evaluated.
Claude: [Reads workflows/test.md and agents/concept.md persona]
[Recognizes decision context — user has specific options to evaluate]
"You're weighing six approaches to embedding. Let me find a principle in
qino-journey that can test these..."
[Reads concept, finds relevant ecology principle, applies it to each option]
When NO momentum exists:
Let the workflow's natural dialogue unfold:
User: "explore qinolabs-homepage"
Claude: [Reads workflows/explore.md and agents/concept.md persona]
[No momentum — follows workflow naturally]
"What part of qinolabs-homepage still feels alive when you think about it?"
The alive-thread question is valuable when arriving cold. Skip it when the user has already warmed up.
Match user intent to workflow. Spawn the specified agent to execute the workflow.
CRITICAL: Select agent FIRST based on user language, THEN find the workflow.
| User says... | Agent |
|---|---|
| "what's next", "continue", "work on [app]", "build", "implement", "plan iteration" | qino:dev |
| "what's next for [app]", "what should I build", "next steps for [project]" | qino:dev |
| "use the active navigator", "navigate [territory]", "map this", "show me the terrain" | direct (graph tools) |
| "explore", "go deeper", "capture", "hold this", "where am I", "test", "compare" | qino:concept |
| "read this deck", "actualize", "open deck", "re-energize", "/qino deck" | direct (MCP tools) |
| "research", "investigate", "inquiry", "study" | qino:research |
| "use the lab", "lab mode", "work through qino-lab" | direct (no agent) |
| "file a bug", "log this bug", "bug ticket", "bug in [app]", "/qino bug" | direct (graph tools) |
Implementation signals (→ qino:dev):
Navigator signals (→ direct, graph tools):
Deck signals (→ direct, MCP tools):
Concept signals (→ qino:concept):
Research signals (→ qino:research):
Lab mode signals (→ direct, no agent):
Bug signals (→ direct, graph tools):
graph.jsonqino:conceptProtocol routing: When context.protocol === "qino", home/capture/explore route to protocol versions. The agent reads agents/protocol-structure.md alongside agents/concept.md.
| User Intent | Workflow | Protocol Workflow |
|---|---|---|
| Arrive, "where am I", "what's here", home | workflows/home.md | workflows/protocol/home.md |
| Capture thought, "hold this", "note: ..." | workflows/capture.md | workflows/protocol/capture.md |
| Explore, "go deeper", "work with [concept]", ideate, brainstorm | workflows/explore.md | workflows/protocol/explore.md |
| Test, "notice through ecology" | workflows/test.md | |
| Test with decision, "help inform the decision" | workflows/test.md (decision context mode) | |
| Attune, "calibrate [quality]" | workflows/attune.md | |
| Compare artifacts | workflows/compare.md | |
| Setup concepts workspace | workflows/concept-setup.md | |
| Create new concept | workflows/concept-init.md | |
| Import material into concepts | workflows/import.md |
qino:concept| User Intent | Workflow |
|---|---|
| Open/begin arc, "start tracking", "something emerging" | workflows/arc-open.md |
| Link to arc, "add to [arc]", "connect to [arc]" | workflows/arc-link.md |
| Close arc, "capture this arc", "finish [arc]" | workflows/arc-close.md |
| Capture emergence (retrospective), "what emerged" | workflows/arc.md |
Arc behavior notes:
arc.md) works standalone or as the final phase of arc-closeqino:research| User Intent | Workflow |
|---|---|
| Setup research workspace | workflows/research-setup.md |
| Start research inquiry | workflows/research-init.md |
| User Intent | Workflow |
|---|---|
| "read this deck", "actualize [deck]", "open deck [name]" | workflows/protocol/deck.md |
| "/qino deck [name]", "what's new in [deck]" | workflows/protocol/deck.md |
| "re-energize [deck]" | workflows/protocol/deck.md |
Deck behavior notes:
composes edges to their member threadsread_node, search_nodes)reading)| User Intent | Workflow |
|---|---|
| "use the active navigator", "activate navigator", "navigate [territory]" | workflows/navigate.md |
| "create a navigator", "map this concept", "show me the terrain for [territory]" | workflows/navigate.md |
| "update the navigator", "log this session" | workflows/navigate.md |
Navigator behavior notes:
type: "navigator" in the root graph — they appear in qino-labread_nodecreate_node + content files; deep reading can be delegated to an Explore agentcontent/terrain.md and write journal entries| User Intent | Workflow |
|---|---|
| "file a bug", "log this bug", "create a bug ticket" | workflows/bug.md |
| "/qino bug", "bug in [app]", "found a bug" | workflows/bug.md |
| "this is a bug", "bug ticket for [app]" | workflows/bug.md |
Bug behavior notes:
finding type nodes in the implementation graph with sparked-by edges to the affected appcomposted and captures root cause + fix + generalizable patternqino:devThe agent reads agents/protocol-structure.md alongside agents/dev.md.
| User Intent | Workflow |
|---|---|
| Initialize multi-repo workspace | workflows/workspace-init.md |
| Setup implementation workspace | workflows/dev-setup.md |
| Start implementation, init app | workflows/protocol/dev-init.md |
| "what's next for [app]", "continue [app]", "work on [app]" | workflows/protocol/dev-work.md |
| "build [feature]", "implement [feature]", "add [component]" | workflows/protocol/dev-work.md |
| "plan iteration", "what should I build next", "next steps" | workflows/protocol/dev-work.md |
| "fix [bug]", "debug", "investigate issue in [app]" | workflows/protocol/dev-work.md |
| User Intent | Workflow |
|---|---|
| Orient, "what can qino do", "show me qino" | workflows/orientation.md |
| No workspace context (and no clear intent) | workflows/orientation.md |
| User Intent | Workflow |
|---|---|
| "use the lab", "lab mode", "work through qino-lab" | workflows/lab.md |
| "work through the lab", "use qino-lab for this" | workflows/lab.md |
Lab mode behavior notes:
protocol: "qino" in qino-config.json)Lab mode persistence (compaction resilience):
workflows/lab.md to restore full behavioral instructionswrite_annotation, read_graph, etc.), treat "use the lab" as a re-injection refreshreferences/lab/lab-operations.md — read on demand, not at activationWhen context.type === "implementation", additional routing applies:
| User Intent | Agent | Workflow |
|---|---|---|
| "work on [app]", plan iterations, build | qino:dev | workflows/protocol/dev-work.md |
| "work on [app] and [app]" (multi-app) | qino:dev | workflows/protocol/dev-work.md |
| "file a bug", "log this bug", "/qino bug" | direct | workflows/bug.md |
| Concept exploration from implementation | qino:concept | workflows/explore.md |
Key behavior: In implementation repos, the concept agent gains bidirectional visibility with iterations. When exploring a linked concept, it:
Multi-app scoping: Users can work across multiple apps conversationally:
Check execution mode. Dialogue workflows (explore, capture) inject into main conversation. Synthesis workflows (dev-work) spawn subagents.
Pass to workflows:
interface Context {
type: "concepts" | "research" | "implementation" | "tool";
root: string; // Workspace root path
protocol?: "qino"; // Protocol mode — graph-based structure
}
This is not a lifecycle. Users move fluidly between modalities:
The skill routes based on current intent. Each workflow knows how to handle cross-context flow.
Workflows specify both an agent persona and an execution mode.
| Workflow | Agent | Execution | Reason |
|---|---|---|---|
| home | concept | inject | Dialogue — arrival, showing state |
| explore | concept | inject | Dialogue — multi-turn conceptual work |
| capture | concept | inject | Dialogue — acknowledgment, follow-up |
| test | concept | inject | Dialogue — ecology observation |
| attune | concept | inject | Dialogue — iterative calibration |
| compare | concept | inject | Dialogue — artifact comparison |
| arc | concept | inject | Dialogue — retrospective capture |
| arc-open | concept | inject | Dialogue — opening active arc |
| arc-link | concept | inject | Dialogue — linking session to arc |
| arc-close | concept | inject | Dialogue — closing arc, triggers capture |
| orientation | — | inject | Dialogue — direct response |
| lab | — | inject | Dialogue — UI-mediated communication via MCP |
| deck | concept | inject | Graph-native — reads deck + members via MCP, produces actualization reading, continues as dialogue |
| navigate | — | inject | Graph-native — uses qino-lab MCP tools, optional spawn for research |
| bug | — | inject | Graph-native — dialogue to capture context, then MCP tools to create finding node |
| import | concept | spawn | Synthesis — heavy file reading |
| concept-init | concept | spawn | Synthesis — workspace scaffolding |
| concept-setup | concept | spawn | Synthesis — workspace scaffolding |
| dev-work | dev | spawn | Synthesis — code changes |
| dev-init | dev | spawn | Synthesis — project scaffolding |
| dev-setup | dev | spawn | Synthesis — project scaffolding |
| workspace-init | dev | spawn | Synthesis — multi-repo workspace scaffolding |
| research-init | research | spawn | Synthesis — workspace scaffolding |
| research-setup | research | spawn | Synthesis — workspace scaffolding |
| Agent | subagent_type | Used by |
|---|---|---|
| Concept Agent | qino:concept | import, concept-init, concept-setup |
| Dev Agent | qino:dev | dev-init, dev-setup, workspace-init, dev-work |
| Research Agent | qino:research | research-init, research-setup |
Agent definitions live in agents/ directory. Each agent file has:
<!-- INJECT-START --> ... <!-- INJECT-END --> — persona/principles for inject modeCross-repo resolution failure:
"Can't find concepts-repo at [path]." Check your .claude/qino-config.json
Ambiguous intent (could be concept, dev, or research):
Use AskUserQuestion to disambiguate:
| Header | Question | Options |
|---|---|---|
| "Direction" | "Which direction fits what you're thinking?" | Concept work ("Explore or develop an idea"), Dev work ("Build or implement something"), Research ("Investigate a question in depth") |
Route based on selection.
Unknown intent (no signal at all):
Route to
workflows/home.md— arrival handles orientation naturally.
npx claudepluginhub qinolabs/qino-claude --plugin qinoProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.