Superpowers
6BNBN/FlowPilot
A skill your agent uses when a task in Cursor may benefit from a structured workflow and one or more companion skills from this pack, such as brainstorming, feature development, design, review…
Launch a Qualitative Neural Network (QNN) — a layered, multi-epoch brainstorm of agent personas that maps divergent strategies before implementation.
$ npx skills add iblameandrew/open-deepthink --skill qnn -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iblameandrew/open-deepthink qnn --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qnn .claude/skills/qnn && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .claude/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnnType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iblameandrew/open-deepthink --skill qnn -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iblameandrew/open-deepthink qnn --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/qnn .agents/skills/qnn && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .agents/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iblameandrew/open-deepthink --skill qnn -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iblameandrew/open-deepthink qnn --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/qnn .cursor/skills/qnn && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .cursor/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iblameandrew/open-deepthink.git --path skills/qnn--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iblameandrew/open-deepthink --skill qnn -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iblameandrew/open-deepthink qnn --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/qnn .gemini/skills/qnn && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .gemini/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iblameandrew/open-deepthink qnnInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iblameandrew/open-deepthink --skill qnn -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/qnn .github/skills/qnn && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .github/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iblameandrew/open-deepthink --skill qnn -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iblameandrew/open-deepthink qnn --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iblameandrew/open-deepthink.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/qnn .opencode/skills/qnn && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qnn" agent skill from https://github.com/iblameandrew/open-deepthink/tree/main/skills/qnn into .opencode/skills/qnn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qnn", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qnnLaunch a Qualitative Neural Network (QNN) — a layered, multi-epoch brainstorm of agent personas that maps divergent strategies before implementation.
Qnn is an agent skill from iblameandrew/open-deepthink. Launch a Qualitative Neural Network (QNN) — a layered, multi-epoch brainstorm of agent personas that maps divergent strategies before implementation. Use to unstick sticky debugging (deadlock, race, perf cliff, architecture trap) OR to enrich an artifact with higher-feature / higher-nuance options (metrics, APIs, UX, research features) when the local loop is thin or circling. Triggers: /qnn, /qnn-brainstorm, "qnn explore", "brainstorm ways out", "unstuck", "richer features", "solution space", multi-perspective…
Its SKILL.md is about 7.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `CODE_REFERENCE.md`, `INSTALL.md` and `run_template.py`).
It sits in Agent Workflows, covering Deep learning, Brainstorming and UX design. The repository describes itself as: A multi-agent research laboratory for data distillation and long evolutionary collaborative reasoning. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b440af1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
openrouter.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENROUTER_API_KEYAPI_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Qnn loads about 7.1k tokens when it runs. Until then it costs about 141 tokens; SKILL.md has 2,431 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from iblameandrew/open-deepthink at commit b440af1, republished under its MIT licence (© iblameandrew). 2,431 words, ~7,103 tokens.
.claude/skills/qnn/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use a Qualitative Neural Network (QNN) as a strategic depth tool when you need more than one local approach — either because you are stuck debugging or because an artifact (feature set, API, model, notebook, product slice) needs richer, better-grounded options.
A QNN is not a flat panel of experts debating once. It is a directed, layered graph of agent personas that:
Critical goal of this skill: explore the solution space. Do not immediately implement a fix or ship a full feature dump. Output a rich map of divergent approaches; then let the user (or the normal coding loop) pick directions to feed back into edit → run → debug (or design → spike → ship).
Do not tell the user to locate a pre-installed runner path. You write the Python runner into the workspace, then run it.
/qnn invoke)prompt + optional topology flagsauto/manual, layers, width, epochs, --debug if they want mock/no cost)..skill-runs/ in the workspace root (if missing).run_template.py (same folder as this
SKILL.md). If that file is missing, recreate it by writing the full
contents of Appendix A at the bottom of this skill..skill-runs/run_qnn.py (overwrite).python .skill-runs/run_qnn.py \
--prompt "<user problem or feature brief>" \
--qnn-mode auto \
--out .skill-runs/qnn-result.jsonManual topology example:
python .skill-runs/run_qnn.py \
--prompt "<brief>" \
--qnn-mode manual --layers 3 --width 3 --epochs 2 \
--out .skill-runs/qnn-result.jsonDebug / no API cost:
python .skill-runs/run_qnn.py --prompt "<brief>" --debug --qnn-mode manual --layers 2 --width 2 --epochs 1.skill-runs/qnn-result.json.The script auto-discovers deepthink by walking the workspace parents (and
OPEN_DEEPTHINK_ROOT if set). Engine: deepthink.qnn.run_qnn_pipeline.
| Flag | Meaning | Default |
|---|---|---|
--prompt | Impasse / enrich brief | required |
--qnn-mode | auto | manual | auto |
--layers / --width / --epochs | L, W, E when manual | 3 / 3 / 2 |
--vector-word-size | V guiding words/column | 6 |
--learning-rate | Mirror Descent | 0.5 |
--attention-top-k | Self-attention top-k | 5 |
--no-attention | Disable QSA | off |
--provider | openrouter | llamacpp | openrouter |
--api-key / --model | LLM | env / free default |
--debug | Mock LLM | off |
--out | JSON result path | optional |
If materializing/running the script is impossible (no Python / no package), fall back to the manual procedure below (simulate layers carefully). Prefer building and running the script.
/qnn [brief problem or feature label]Examples:
/qnn explore this deadlock / performance regression/qnn stuck on auth token refresh race/qnn richer metrics for the training dashboard/qnn widen the API surface for export/import/qnn (uses active stuck issue or thin feature from conversation)If the user only says /qnn with no label, infer mode from context: recent
failed debug loops → unstick; thin feature/design discussion → enrich.
Detect one primary mode and label it in the brief:
| Mode | Trigger | Goal of the map |
|---|---|---|
| unstick | Sticky bug, race, deadlock, perf cliff, circular local fixes | Divergent fix strategies with falsifiers |
| enrich | Feature / artifact feels thin; needs wider depth or better options | Divergent design / feature strategies with eval probes |
You may run a mixed session (e.g. stuck and the product needs a better observability story) — still pick a primary mode for topology sizing.
Invoke when:
Do not invoke when:
If the user invokes /qnn explicitly, always run the full procedure even if
you think you "already know" the answer — the point is structured divergence.
Before spawning any network, write a tight brief (shared QNN context).
| Field | Content |
|---|---|
| Mode | unstick |
| Problem statement | What is broken or blocked (1–3 sentences) |
| Symptoms / evidence | Errors, stack traces, metrics, failing tests |
| Constraints | Language, runtime, non-negotiable APIs, time/perf budgets |
| Failed approaches | What was already tried and why it failed or stalled |
| Suspected root causes | Current hypotheses (mark confidence) |
| Relevant loci | Key files, modules, call paths, configs (paths + short notes) |
| Success criteria | How we would know a direction is promising |
| Field | Content |
|---|---|
| Mode | enrich |
| Artifact | What is being designed or improved (feature, API, model, UX slice) |
| Current thinness | What feels shallow, missing, or one-dimensional today |
| Users / jobs | Who needs signal and what decision it supports |
| Constraints | Stack, data available, latency, privacy, scope |
| Rejected ideas | Options already dismissed and why |
| Relevant loci | Existing modules, schemas, UI surfaces, metrics |
| Success criteria | What "richer and better" means (eval, user outcome, information gain) |
If critical facts are missing, do a fast gather (read/grep/run) — max a few tool calls — then proceed. Do not finish the RCA or the full design in Step 0; the QNN needs a brief, not the answer.
Present the brief to the user in compact form, then proceed unless they immediately correct it.
In all later steps, treat "Impasse Brief" as this brief (either mode).
Score complexity 1–10 from the Impasse Brief:
| Score | Layers (L) | Width (W) | Epochs (E) | Typical case |
|---|---|---|---|---|
| 1–3 | 2 | 2 | 1 | Narrow sticky bug, limited surface |
| 4–6 | 3 | 3 | 2 | Cross-module race / design tradeoff |
| 7–8 | 3 | 4 | 2 | Deep systems / multi-domain |
| 9–10 | 4 | 5 | 3 | Architecture impasse, unknown unknown |
Total agents ≈ L × W. Prefer small topologies by default (cost/latency).
If the user specifies size (e.g. "10x10", "massive", "layers=4 width=6 epochs=3"), honor it. Warn briefly that large nets cost tokens and time, then run.
Announce topology before running:
QNN topology: L×W, E epochs (N agents total)
Mode: Auto|Manual — reason for sizeThis matches original Algorithm Mode spanning. Do not invent a flat list of expert labels ("Security Expert", "UX Expert"). Personas are spanned from linguistically loaded verbs and nouns drawn from the problem space.
Let V = vector_word_size (default 6).
Generate exactly word_count = V × W (or more) unique seed tokens:
get_seed_generation_chain).the, solve, problem).Output as one space-separated string. Example for a deadlock:
entangle latch reconverge ownership invariant braid entropy horizon serialize arbitrate telemetry crystallizeFor each column w = 0 .. W-1 (shared across all layers of that column):
guiding_words[w] — the column's word-vector.Log the pool and each column vector. These words are the DNA of the personas.
Same method as Algorithm Mode get_input_spanner_chain: each agent is an
Agent Architect product of guiding_words + problem, not a pre-named expert.
For each cell (layer â„“, node w) with guiding_words = guiding_words[w]:
| Layer | Role |
|---|---|
| 0 | Divergent — breadth / "what if" through the word-vector |
| 1+ | Convergent / critical — critique/refine upstream through the word-vector |
Store each persona (internal; do not dump all raw JSON unless asked):
{
"id": "L{â„“}N{w}",
"name": "<memorable name>",
"specialty": "<niche career from guiding_words + problem>",
"emoji": "<one emoji>",
"guiding_words": "<space-separated verb/noun vector for this column>",
"attributes": ["..."],
"skills": ["..."],
"system_prompt": "<second-person prompt: career, how words shape cognition, layer role>"
}Rules:
guiding_words.Repeat for epoch = 0 .. E-1:
Layer 0 — run all W nodes in parallel (use spawn_subagent with
subagent_type: "general-purpose" or "explore" as appropriate;
capability_mode: "read-only" preferred so exploration does not mutate the
workspace).
Each Layer-0 prompt must include:
system_promptLayer ℓ > 0 — for each node w, run with:
Agent reflection instructions (copy into each node prompt):
You are the persona defined in SYSTEM_PROMPT.
Reflect on the Impasse Brief from your specialty only.
- Do NOT write production patches or full file diffs.
- Do NOT converge prematurely on "the" fix.
- Produce ONE dense paragraph (or short bullets if listing trade-offs) that offers:
(1) a unique strategic angle or mechanism,
(2) why it might break the current impasse,
(3) what evidence would confirm or kill this angle,
(4) risks / ways it could fail.
Explore "why" and "what if". Ground claims in the brief's files and symptoms.
If you receive upstream layer outputs, cite which ones you extend or reject.Prefer parallel spawns within a layer; wait for the layer to finish before the next layer.
Produce an Epoch Map (internal + user-visible summary):
On intermediate epochs (epoch < E-1), keep synthesis compact to save budget.
On the final epoch, synthesis must be thorough (feeds Step 5).
For each agent, lightly rewrite its system_prompt based on last output:
| Observation | Mutation |
|---|---|
| Too generic | Narrow specialty; name concrete subsystems from the brief |
| Too patch-shaped / algorithmic | Push toward mechanisms, invariants, and failure modes |
| Strong unique insight | Reinforce that niche; ask for sharper falsifiers next epoch |
| Contradicted by other layers | Add duty to reconcile or explicitly dissent with evidence |
Learning rate default 0.5 (moderate). If user says "radical" / "more divergent", use 1.0–1.5. Output only the new system prompt text per agent (internal).
Rewrite the problem into a harder, more advanced version that:
Next epoch uses: evolved personas + reframed problem + original Impasse Brief as ground truth (reframe is a thinking tool, not a license to solve a different product).
After the final epoch, present a Solution-Space Report to the user. Structure it exactly as follows:
One short paragraph: what we're stuck on and why local fixes failed.
L×W, E epochs, V (vector size), sample of seed verbs/nouns, each column's
guiding_words, one line on how personas evolved via Mirror Descent.
For each promising strategy (typically 3–7):
| Field | Content |
|---|---|
| Name | Short memorable label |
| Mechanism | How it would break the impasse |
| Why it might work | Tied to symptoms / code loci |
| Falsifiers | What evidence would kill it |
| Risks | Cost, complexity, regressions |
| First probe | Smallest experiment (log, test, bisect, spike) — not a full impl |
| Confidence | Low / Med / High |
Group strategies that are variants; call out true alternatives.
Angles explored and discarded, with one-line reasons (prevents re-circling).
Rank top 1–3 strategies for the normal coding agent loop:
Explicitly state:
The QNN does not ship the fix. Pick a direction (or combine two), then resume the grounded edit → run → debug loop.
If the user wants reuse later, offer a compact markdown or JSON dump of: guiding concepts, final personas, per-epoch maps, and strategy table.
After the report:
Never silently jump from QNN output to a large unvalidated rewrite.
This skill is portable: any agent that can follow a structured procedure (and optionally spawn sub-agents) can run it. Adapt tool names to the host (Grok, Claude Code, Cursor, Codex, custom harness, etc.).
guiding_words when writing careers/attributes/skillsImpasse Brief
→ choose topology (L, W, E); V = vector_word_size (default 6)
→ seed pool: V×W verbs + nouns (problem-related + far semantic fields)
→ for each column w: sample V guiding_words[w]
→ for each cell (ℓ, w): span persona from guiding_words[w]
(career + attributes + skills — same as Algorithm input spanner)
layer 0 = diverge; layer 1+ = converge/critique
→ for epoch in 0..E-1:
forward: layer0 ∥ → layer1 → … → layerL-1
synthesize epoch map
if not last:
Mirror Descent (mutate personas)
reframe problem (harder thinking challenge)
→ Solution-Space Report
→ user picks strategy
→ normal edit/run/debug loop (or delta QNN)This skill is the hybrid model: QNN for strategic depth when stuck; tool-heavy coding agent for implementation and verification.
Persona spanning is not "pick W expert titles." It is seed verbs/nouns →
word-vectors → input-span personas, identical in spirit to open-deepthink
Algorithm Mode (seed_generation + input_spanner).
If run_template.py is missing from the skill folder, write this exact file to .skill-runs/run_qnn.py:
#!/usr/bin/env python3
"""
QNN runner — materialized on-the-fly by the /qnn skill.
Discovers deepthink from the workspace tree; runs the QNN pipeline.
"""
from __future__ import annotations
import argparse
import asyncio
import json
import os
import sys
from pathlib import Path
def _discover_deepthink() -> Path | None:
"""Walk cwd parents, env, and common clones for a deepthink package root."""
env = os.environ.get("OPEN_DEEPTHINK_ROOT", "").strip()
candidates = []
if env:
candidates.append(Path(env))
here = Path.cwd().resolve()
candidates.append(here)
candidates.extend(here.parents)
# Skill install dir → monorepo (…/skills/qnn → repo)
skill_file = Path(__file__).resolve()
candidates.append(skill_file.parent)
candidates.extend(skill_file.parents)
for c in candidates:
if not c:
continue
if (c / "deepthink" / "qnn" / "pipeline.py").is_file():
return c
if (c / "open-deepthink" / "deepthink" / "qnn" / "pipeline.py").is_file():
return c / "open-deepthink"
return None
def _ensure_path() -> None:
root = _discover_deepthink()
if root is None:
print(
"ERROR: Could not find open-deepthink (deepthink/qnn). "
"Run from a workspace that contains the repo, or set OPEN_DEEPTHINK_ROOT.",
file=sys.stderr,
)
sys.exit(2)
sys.path.insert(0, str(root))
print(f"LOG: using deepthink root {root}", file=sys.stderr)
def _build_llm(args):
if args.debug:
try:
from app import CoderMockLLM # type: ignore
return CoderMockLLM()
except Exception:
from langchain_core.runnables import Runnable
class _Stub(Runnable):
async def ainvoke(self, input_data, config=None, **kwargs):
t = str(input_data).lower()
if "complexity" in t and "json" in t:
return json.dumps(
{
"complexity_score": 4,
"recommended_layers": 2,
"recommended_width": 2,
"recommended_epochs": 1,
"reasoning": "debug",
}
)
if "seed" in t or "space-separated" in t:
return "distill ownership latch invariant probe reframe entropy horizon"
if "guiding_words" in t or "node generator" in t:
return json.dumps(
{
"name": "Debug Expert",
"specialty": "Stub",
"emoji": "🤖",
"guiding_words": "distill ownership",
"attributes": ["Analytical"],
"skills": ["probing"],
"system_prompt": "You are a debug QNN expert. Map strategies with falsifiers.",
}
)
if "synthesizer" in t or "solution-space" in t or "polisher" in t:
return (
"## 1. Impasse / Goal\nDebug QNN run.\n"
"## 3. Divergent Strategy Map\n**Probe first** — logs at ownership boundaries.\n"
"## 5. Recommended Next Steps\n1. Instrument 2. Minimal test 3. Implement after probe."
)
if "re-framer" in t or "new_problem" in t:
return json.dumps({"new_problem": "Harder challenge under concurrency."})
return json.dumps(
{
"original_problem": "debug",
"proposed_solution": "Instrument ownership boundaries with ordered logs.",
"reasoning": "debug",
"falsifiers": "no interleaving under load",
"risks": "noise",
"skills_used": [],
}
)
return _Stub()
if args.provider == "openrouter":
from langchain_openai import ChatOpenAI
key = args.api_key or os.environ.get("OPENROUTER_API_KEY") or os.environ.get("API_KEY")
if not key:
raise SystemExit("Need --api-key or OPENROUTER_API_KEY")
return ChatOpenAI(
model=args.model,
openai_api_key=key,
openai_api_base="https://openrouter.ai/api/v1",
temperature=0.7,
)
if args.provider == "llamacpp":
from langchain_openai import ChatOpenAI
return ChatOpenAI(
model=args.model,
openai_api_key="no-key",
openai_api_base=args.base_url.rstrip("/"),
temperature=0.7,
)
raise SystemExit(f"Unknown provider {args.provider}")
async def _main(args) -> int:
_ensure_path()
from deepthink.qnn import run_qnn_pipeline
llm = _build_llm(args)
params = {
"qnn_mode": args.qnn_mode,
"manual_layers": args.layers,
"manual_width": args.width,
"num_epochs": args.epochs,
"vector_word_size": args.vector_word_size,
"learning_rate": args.learning_rate,
"attention_top_k": args.attention_top_k,
"enable_self_attention": not args.no_attention,
}
doc = ""
if args.context_file:
doc = Path(args.context_file).read_text(encoding="utf-8", errors="replace")
def log(msg: str):
print(msg, file=sys.stderr)
result = await run_qnn_pipeline(
llm,
user_prompt=args.prompt,
params=params,
document_context=doc,
log=log,
session_id="skill-on-the-fly",
)
if args.out:
Path(args.out).write_text(json.dumps(result, indent=2), encoding="utf-8")
print(f"Wrote {args.out}", file=sys.stderr)
print(result.get("proposed_solution") or "")
if args.json:
print(json.dumps(result, indent=2))
return 0
if __name__ == "__main__":
p = argparse.ArgumentParser(description="QNN pipeline (skill-materialized runner)")
p.add_argument("--prompt", "-p", required=True)
p.add_argument("--provider", choices=["openrouter", "llamacpp"], default="openrouter")
p.add_argument("--api-key", default=None)
p.add_argument("--model", default="stepfun/step-3.5-flash:free")
p.add_argument("--base-url", default="http://localhost:8080/v1")
p.add_argument("--qnn-mode", choices=["auto", "manual"], default="auto")
p.add_argument("--layers", type=int, default=3)
p.add_argument("--width", type=int, default=3)
p.add_argument("--epochs", type=int, default=2)
p.add_argument("--vector-word-size", type=int, default=6)
p.add_argument("--learning-rate", type=float, default=0.5)
p.add_argument("--attention-top-k", type=int, default=5)
p.add_argument("--no-attention", action="store_true")
p.add_argument("--context-file", default=None)
p.add_argument("--out", default=None)
p.add_argument("--json", action="store_true")
p.add_argument("--debug", action="store_true")
raise SystemExit(asyncio.run(_main(p.parse_args())))© iblameandrew, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in skills/qnn of iblameandrew/open-deepthink.
Open the folder on GitHubat commit b440af1
Qnn next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Qnn this skilliblameandrew/open-deepthink | 151 | — | ~7.1k | Automated safety check: Pass | MIT | |
| Superpowers6BNBN/FlowPilot | 134 | — | ~409 | Automated safety check: Pass | MIT | |
| Trellis Session Insightmindfold-ai/Trellis | 15k | 4 repos | ~1.7k | Automated safety check: Pass | AGPL-3.0 | |
| Aoti Debugpytorch/pytorch | 104k | 1 repos | ~1.7k | Automated safety check: Pass | Custom licence | |
| The Art of Debuggingstas00/the-art-of-debugging | 1.7k | — | ~6.1k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Veomni DebugByteDance-Seed/VeOmni | 2.2k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 |
6BNBN/FlowPilot
A skill your agent uses when a task in Cursor may benefit from a structured workflow and one or more companion skills from this pack, such as brainstorming, feature development, design, review…
mindfold-ai/Trellis
Reach into past AI conversation history through the trellis mem CLI.
pytorch/pytorch
Debug AOTInductor (AOTI) errors and crashes. An agent skill from pytorch/pytorch.
stas00/the-art-of-debugging
Condensed debugging method and tool recipes for Unix, Python and PyTorch programs: crashes, hangs, segfaults, wrong output, CUDA OOM, NaN values and slowness.
ByteDance-Seed/VeOmni
A skill your agent uses for ANY bug, error, crash, wrong output, loss divergence, gradient explosion, test failure, CUDA error, distributed training hang, checkpoint load failure, or unexpected…
vipshop/cache-dit
A skill your agent uses when writing, debugging, porting, reviewing, or optimizing CUDA C++ or PTX kernels; investigating CUDA Runtime or Driver API behavior; profiling kernels with Nsight Systems…
iblameandrew/open-deepthink
Run Qualitative Diffusion App Designer (QDAD) — a qualitative re-implementation of diffusion for app design.
Launch a Qualitative Neural Network (QNN) — a layered, multi-epoch brainstorm of agent personas that maps divergent strategies before implementation. Qnn is an agent skill from iblameandrew/open-deepthink. Launch a Qualitative Neural Network (QNN) — a layered, multi-epoch brainstorm of agent personas that maps divergent strategies before implementation.
Qnn fits situations like: unstick sticky debugging (deadlock; architecture trap) OR to enrich an artifact with higher-feature / higher-nuance options (metrics; research features) when the local loop is thin.
Run `npx skills add iblameandrew/open-deepthink --skill qnn -a claude-code`. Or copy the skill folder (skills/qnn in iblameandrew/open-deepthink) into .claude/skills/qnn in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iblameandrew/open-deepthink --skill qnn -a codex`. Or copy the skill folder (skills/qnn in iblameandrew/open-deepthink) into .agents/skills/qnn in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iblameandrew/open-deepthink --skill qnn -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qnn, .gemini/skills/qnn, .github/skills/qnn and .opencode/skills/qnn in your project.
Going by SKILL.md and its folder, Qnn needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named OPENROUTER_API_KEY and API_KEY. Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: openrouter.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Qnn is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.1k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Qnn: Superpowers (6BNBN/FlowPilot, 134 stars), Trellis Session Insight (mindfold-ai/Trellis, 15k stars), Aoti Debug (pytorch/pytorch, 104k stars) and The Art of Debugging (stas00/the-art-of-debugging, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iblameandrew (a GitHub user) maintains it in iblameandrew/open-deepthink, which has 151 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 15, 2026.
Source: iblameandrew/open-deepthink on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.