microsoft/qdk-programming
QDK programming guide for Q#, OpenQASM, and the qsharp/qdk Python API. Use when: writing or editing Q# or OpenQASM code, running quantum programs, resource estimation, circuit generation, noisy simulation, Azure Quantum submission, Qiskit/Cirq/PennyLane interop, or Q# testing and standard library usage.
npx skills add https://github.com/microsoft/qdk --skill qdk-programming
Quantum programming with the Microsoft Quantum Development Kit (QDK).
Most QDK features work in two modes:
.qs / .qasm files directly. No Python required.qsharp/qdk Python packages as a driver for Q#/OpenQASM programs.Default to tool mode unless the user is already working in Python or the feature is Python-only.
| File | Content |
| ---------------------------- | ----------------------------------------------------------------------------------------------- |
| qsharp.md | Q# language syntax, types, quantum operations, standard library, project structure |
| openqasm.md | OpenQASM 2.0/3.0 syntax, standard gates, version differences |
| python.md | qsharp/qdk Python API for execution, estimation, circuits, noise, Azure, Qiskit/Cirq, setup |
| Feature | Tool mode | Python mode |
| ---------------------------------------- | --------------------------------- | ---------------------------------------------- |
| Writing Q# code | Read qsharp.md | Read qsharp.md |
| Writing OpenQASM code | Read openqasm.md | Read openqasm.md |
| Running a program | qdkRunProgram | python.md — Running Q# Code |
| Resource estimation | qdkRunResourceEstimator | python.md — Resource Estimation |
| Circuit diagrams | qdkGenerateCircuit | python.md — Circuit Generation |
| Azure Quantum | Use the azureQuantum* tools | python.md — Azure Quantum |
| Noisy simulation | — (Python only) | python.md — Noisy Simulation |
| Q#/OpenQASM in Python and/or Jupyter | — (inherently Python) | python.md |
| Qiskit / Cirq / PennyLane interop | — (inherently Python) | python.md — Framework Interop |
Quantum Katas
Quantum Katas are a collection of self-paced tutorials built into the QDK that teach quantum computing from the ground up. If the user wants to learn through the Quantum Katas, encourage them to use the /qdk-learning prompt to chat with the QDK Learning agent, which provides a guided, chat-embedded experience.
dotnet CLI tools.Take microsoft/qdk-programming from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.