[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MAY1MHTVQ8HZ6TMM7TG4JC":3,"skill-same:01M6MAY1MHTVQ8HZ6TMM7TG4JC":133},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6MAY1MHTVQ8HZ6TMM7TG4JC","qiskit",null,"Build, simulate, transpile, and execute quantum circuits with Qiskit and IBM Quantum Runtime. Use for Qiskit 2.x circuits and operators, V2 Sampler or Estimator primitives, target-aware transpilation, local or noisy simulation, IBM QPU execution, Runtime sessions or batches, error mitigation, and Qiskit ecosystem packages.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1571,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"primitives","for","ecosystem","error","bit","platform","operators","runtime","physics","local","python","access","simulation","api","ibm","network","packages","sessions","workflows","2026-11-10 10:12:30",false,"---\nname: qiskit\ndescription: Build, simulate, transpile, and execute quantum circuits with Qiskit and IBM Quantum Runtime. Use for Qiskit 2.x circuits and operators, V2 Sampler or Estimator primitives, target-aware transpilation, local or noisy simulation, IBM QPU execution, Runtime sessions or batches, error mitigation, and Qiskit ecosystem packages.\nlicense: Apache-2.0\ncompatibility: Python 3.10+ on a supported 64-bit platform. Local SDK workflows need qiskit; noisy simulation needs qiskit-aer; IBM QPU access needs qiskit-ibm-runtime, network access, an IBM Quantum Platform account, and an API key.\nmetadata:\n  version: '2.1'\n  category: physical-sciences\n  maintainer: Kalaris Labs\n  tags: quantum computing, quantum circuits, IBM Quantum, physics\n---\n\n# Qiskit\n\nUse current Qiskit 2.x APIs to build circuits, prepare hardware-compatible instruction set architecture (ISA) circuits, and execute them through V2 primitives.\n\nThis skill was verified on **2026-07-23** against the PyPI releases `qiskit==2.5.0`, `qiskit-ibm-runtime==0.48.0`, and `qiskit-aer==0.17.2`. Check [references\u002Fsources.md](references\u002Fsources.md) before changing pins or documenting newly released behavior.\n\n## Choose the Right Path\n\n| Goal | Recommended interface |\n|---|---|\n| Exact local sampling | `qiskit.primitives.StatevectorSampler` |\n| Exact local expectation values | `qiskit.primitives.StatevectorEstimator` |\n| High-performance or noisy simulation | Qiskit Aer |\n| IBM QPU sampling | `qiskit_ibm_runtime.SamplerV2` |\n| IBM QPU expectation values and mitigation | `qiskit_ibm_runtime.EstimatorV2` |\n| Backend without native primitives | `BackendSamplerV2` or `BackendEstimatorV2` |\n| Open-system or master-equation dynamics | Prefer QuTiP |\n| Differentiable quantum machine learning | Prefer PennyLane unless Qiskit integration is required |\n\n## Installation\n\nCreate an isolated environment and install only the components needed:\n\n```bash\nuv venv --python 3.13\nsource .venv\u002Fbin\u002Factivate\n\n# Core SDK plus plotting support\nuv pip install \"qiskit[visualization]==2.5.0\"\n\n# Add only when needed\nuv pip install \"qiskit-ibm-runtime==0.48.0\"\nuv pip install \"qiskit-aer==0.17.2\"\n```\n\nDo not install `qiskit-terra`; it was superseded by the `qiskit` distribution. Qiskit Runtime, Aer, Nature, Machine Learning, Optimization, and Algorithms are separate distributions.\n\nFor IBM account setup, CI-safe credential handling, optional packages, and environment repair, read [references\u002Fsetup.md](references\u002Fsetup.md).\n\n## Core Workflow\n\nFollow this sequence for every hardware-oriented workload:\n\n1. **Map** the problem to a circuit and, for Estimator, one or more observables.\n2. **Optimize** the parameterized circuit once for the selected backend.\n3. **Apply the layout** to every observable.\n4. **Execute** ISA circuits through a V2 primitive using Primitive Unified Blocs (PUBs).\n5. **Analyze** register-aware results, metadata, uncertainty, and resource usage.\n\nDo not bind and retranspile a parameterized circuit inside every optimizer iteration. Transpile the parameterized circuit once, then pass parameter arrays in PUBs.\n\n## Quick Local Sampling\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.primitives import StatevectorSampler\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure_all()  # creates the classical register named \"meas\"\n\nsampler = StatevectorSampler(seed=7)\npub_result = sampler.run([circuit], shots=1024).result()[0]\ncounts = pub_result.data.meas.get_counts()\nprint(counts)\n```\n\nSampler V2 preserves shots and classical-register structure. Access the register by its actual name; `measure_all()` uses `meas`.\n\n## Quick Local Estimation\n\n```python\nimport numpy as np\nfrom qiskit import QuantumCircuit\nfrom qiskit.circuit import Parameter\nfrom qiskit.primitives import StatevectorEstimator\nfrom qiskit.quantum_info import SparsePauliOp\n\ntheta = Parameter(\"theta\")\ncircuit = QuantumCircuit(2)\ncircuit.ry(theta, 0)\ncircuit.cx(0, 1)\n\nobservable = SparsePauliOp.from_list([(\"ZZ\", 1.0), (\"XX\", 0.5)])\nparameter_values = [[0.0], [np.pi \u002F 4], [np.pi \u002F 2]]\n\nestimator = StatevectorEstimator(seed=7)\npub = (circuit, observable, parameter_values)\npub_result = estimator.run([pub]).result()[0]\nprint(pub_result.data.evs)\n```\n\nEstimator circuits should not contain final measurements. PUB arrays broadcast; verify circuit parameter order before constructing large sweeps.\n\n## IBM QPU Sampling\n\nThis example assumes credentials were saved securely as described in [references\u002Fsetup.md](references\u002Fsetup.md). It never embeds or prints an API key.\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.transpiler import generate_preset_pass_manager\nfrom qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler\n\nservice = QiskitRuntimeService()\nbackend = service.least_busy(\n    operational=True,\n    simulator=False,\n    min_num_qubits=2,\n)\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure_all()\n\npass_manager = generate_preset_pass_manager(\n    backend=backend,\n    optimization_level=1,\n    seed_transpiler=7,\n)\nisa_circuit = pass_manager.run(circuit)\n\nsampler = Sampler(mode=backend)\njob = sampler.run([isa_circuit], shots=1024)\nprint(\"job_id:\", job.job_id())\ncounts = job.result()[0].data.meas.get_counts()\n```\n\nSave the job ID before waiting for results so the job can be retrieved later.\n\n## IBM QPU Estimation\n\nRuntime Estimator requires both an ISA circuit and observables mapped through the transpiler layout:\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.quantum_info import SparsePauliOp\nfrom qiskit.transpiler import generate_preset_pass_manager\nfrom qiskit_ibm_runtime import EstimatorV2 as Estimator\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\nobservable = SparsePauliOp.from_list([(\"ZZ\", 1.0)])\n\npass_manager = generate_preset_pass_manager(\n    backend=backend,\n    optimization_level=1,\n    seed_transpiler=7,\n)\nisa_circuit = pass_manager.run(circuit)\nisa_observable = observable.apply_layout(isa_circuit.layout)\n\nestimator = Estimator(\n    mode=backend,\n    options={\"resilience_level\": 1},\n)\npub_result = estimator.run(\n    [(isa_circuit, isa_observable)],\n    precision=0.02,\n).result()[0]\nprint(pub_result.data.evs, pub_result.data.stds)\n```\n\nError mitigation is not guaranteed to improve every workload and increases cost. Record the complete options and result metadata.\n\n## Non-Negotiable Qiskit 2.x Rules\n\n- Use V2 primitive interfaces and PUB inputs. Do not write new V1 `Sampler`, `Estimator`, or `QuantumInstance` code.\n- Runtime primitives accept ISA circuits; they do not perform layout, routing, and basis translation for you.\n- Apply the transpiler layout to Estimator observables with `observable.apply_layout(isa_circuit.layout)`.\n- Use `mode=backend`, `mode=session`, or `mode=batch` for Runtime primitives.\n- Use `EstimatorV2` for resilience levels and expectation-value mitigation. Sampler has different noise-management options and no Estimator-style resilience levels.\n- Treat `BackendV2.target`, `backend.operation_names`, `backend.coupling_map`, and direct backend attributes as the source of hardware constraints. Do not use `backend.configuration()` or `BackendProperties`.\n- Read Sampler output by classical register name. Bitstrings are displayed most-significant bit first; Qiskit qubit 0 is conventionally the least-significant bit.\n- Use a fixed `seed_transpiler` when comparing compilation settings. A simulator seed does not make QPU results deterministic.\n- `qiskit.pulse` was removed in Qiskit 2.0. Use supported fractional gates for IBM hardware or Qiskit Dynamics for pulse-model research.\n- QPY is the Qiskit-native circuit serialization format. Do not use Python pickle for untrusted circuit artifacts.\n\nSee [references\u002Fmigration.md](references\u002Fmigration.md) for a detailed old-to-current API map.\n\n## Execution Modes\n\nChoose based on workload shape and account plan:\n\n- **Job mode**: one-off work; instantiate a primitive with `mode=backend`.\n- **Batch mode**: independent jobs submitted together; available on the Open Plan.\n- **Session mode**: iterative jobs that benefit from prioritized follow-on execution; unavailable on the Open Plan.\n\n```python\nfrom qiskit_ibm_runtime import Batch, SamplerV2 as Sampler\n\nwith Batch(backend=backend, max_time=\"10m\") as batch:\n    sampler = Sampler(mode=batch)\n    jobs = [sampler.run([circuit], shots=1024) for circuit in isa_circuits]\n\nresults = [job.result() for job in jobs]\n```\n\nClose sessions and batches after submission. Exiting their context stops new submissions but allows accepted jobs to finish, subject to service limits.\n\n## Reference Map\n\nRead only the files needed for the current task:\n\n| Topic | Reference |\n|---|---|\n| Versions, installation, authentication, CI | [references\u002Fsetup.md](references\u002Fsetup.md) |\n| Circuits, parameters, control flow, QPY | [references\u002Fcircuits.md](references\u002Fcircuits.md) |\n| V2 PUBs, broadcasting, local and Runtime results | [references\u002Fprimitives.md](references\u002Fprimitives.md) |\n| Targets, ISA circuits, layouts, pass managers | [references\u002Ftranspilation.md](references\u002Ftranspilation.md) |\n| IBM backends, modes, jobs, Aer, mitigation | [references\u002Fbackends.md](references\u002Fbackends.md) |\n| End-to-end map\u002Foptimize\u002Fexecute\u002Fanalyze patterns | [references\u002Fpatterns.md](references\u002Fpatterns.md) |\n| Algorithms, addons, Nature, ML, Optimization | [references\u002Falgorithms.md](references\u002Falgorithms.md) |\n| Circuit, result, state, and backend plots | [references\u002Fvisualization.md](references\u002Fvisualization.md) |\n| Qiskit 0.x\u002F1.x and Runtime migration | [references\u002Fmigration.md](references\u002Fmigration.md) |\n| Testing, reproducibility, and troubleshooting | [references\u002Ftesting.md](references\u002Ftesting.md) |\n| Upstream docs, release notes, and version baseline | [references\u002Fsources.md](references\u002Fsources.md) |\n\n## Bundled Scripts\n\nRun from the skill directory:\n\n```bash\n# Installed-package and legacy-environment checks; no network or credential reads\npython scripts\u002Fcheck_environment.py\n\n# Runnable V2 local Sampler and Estimator example\npython scripts\u002Frun_local_primitives.py --shots 1024 --seed 7\n\n# Read-only IBM backend capability inspection; uses saved credentials\npython scripts\u002Finspect_runtime.py --min-qubits 5\n```\n\nThe Runtime inspection script selects or inspects a backend but never submits a quantum job.\n\n## Final Checklist\n\nBefore returning Qiskit code:\n\n1. Confirm package versions and Python compatibility.\n2. Run locally with statevector primitives or Aer.\n3. Verify parameter order, observable qubit count, and classical-register names.\n4. Transpile against the exact `BackendV2` target and inspect depth and two-qubit operations.\n5. Apply the final layout to every observable.\n6. Estimate QPU cost and choose job, batch, or session mode.\n7. Save job IDs, package versions, seeds, backend name, primitive options, and result metadata.\n8. Never expose API keys in source, logs, notebooks, or version control.\n\n## Related skills\n\n- `cirq`: Google quantum computing framework.\n- `pennylane`: Hardware-agnostic quantum ML framework with automatic differentiation.\n- `pi-agent`: Build with and use Pi, the minimal terminal coding harness.\n","# Qiskit\n\nUse current Qiskit 2.x APIs to build circuits, prepare hardware-compatible instruction set architecture (ISA) circuits, and execute them through V2 primitives.\n\nThis skill was verified on **2026-07-23** against the PyPI releases `qiskit==2.5.0`, `qiskit-ibm-runtime==0.48.0`, and `qiskit-aer==0.17.2`. Check [references\u002Fsources.md](references\u002Fsources.md) before changing pins or documenting newly released behavior.\n\n## Choose the Right Path\n\n| Goal | Recommended interface |\n|---|---|\n| Exact local sampling | `qiskit.primitives.StatevectorSampler` |\n| Exact local expectation values | `qiskit.primitives.StatevectorEstimator` |\n| High-performance or noisy simulation | Qiskit Aer |\n| IBM QPU sampling | `qiskit_ibm_runtime.SamplerV2` |\n| IBM QPU expectation values and mitigation | `qiskit_ibm_runtime.EstimatorV2` |\n| Backend without native primitives | `BackendSamplerV2` or `BackendEstimatorV2` |\n| Open-system or master-equation dynamics | Prefer QuTiP |\n| Differentiable quantum machine learning | Prefer PennyLane unless Qiskit integration is required |\n\n## Installation\n\nCreate an isolated environment and install only the components needed:\n\n```bash\nuv venv --python 3.13\nsource .venv\u002Fbin\u002Factivate\n\n# Core SDK plus plotting support\nuv pip install \"qiskit[visualization]==2.5.0\"\n\n# Add only when needed\nuv pip install \"qiskit-ibm-runtime==0.48.0\"\nuv pip install \"qiskit-aer==0.17.2\"\n```\n\nDo not install `qiskit-terra`; it was superseded by the `qiskit` distribution. Qiskit Runtime, Aer, Nature, Machine Learning, Optimization, and Algorithms are separate distributions.\n\nFor IBM account setup, CI-safe credential handling, optional packages, and environment repair, read [references\u002Fsetup.md](references\u002Fsetup.md).\n\n## Core Workflow\n\nFollow this sequence for every hardware-oriented workload:\n\n1. **Map** the problem to a circuit and, for Estimator, one or more observables.\n2. **Optimize** the parameterized circuit once for the selected backend.\n3. **Apply the layout** to every observable.\n4. **Execute** ISA circuits through a V2 primitive using Primitive Unified Blocs (PUBs).\n5. **Analyze** register-aware results, metadata, uncertainty, and resource usage.\n\nDo not bind and retranspile a parameterized circuit inside every optimizer iteration. Transpile the parameterized circuit once, then pass parameter arrays in PUBs.\n\n## Quick Local Sampling\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.primitives import StatevectorSampler\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure_all()  # creates the classical register named \"meas\"\n\nsampler = StatevectorSampler(seed=7)\npub_result = sampler.run([circuit], shots=1024).result()[0]\ncounts = pub_result.data.meas.get_counts()\nprint(counts)\n```\n\nSampler V2 preserves shots and classical-register structure. Access the register by its actual name; `measure_all()` uses `meas`.\n\n## Quick Local Estimation\n\n```python\nimport numpy as np\nfrom qiskit import QuantumCircuit\nfrom qiskit.circuit import Parameter\nfrom qiskit.primitives import StatevectorEstimator\nfrom qiskit.quantum_info import SparsePauliOp\n\ntheta = Parameter(\"theta\")\ncircuit = QuantumCircuit(2)\ncircuit.ry(theta, 0)\ncircuit.cx(0, 1)\n\nobservable = SparsePauliOp.from_list([(\"ZZ\", 1.0), (\"XX\", 0.5)])\nparameter_values = [[0.0], [np.pi \u002F 4], [np.pi \u002F 2]]\n\nestimator = StatevectorEstimator(seed=7)\npub = (circuit, observable, parameter_values)\npub_result = estimator.run([pub]).result()[0]\nprint(pub_result.data.evs)\n```\n\nEstimator circuits should not contain final measurements. PUB arrays broadcast; verify circuit parameter order before constructing large sweeps.\n\n## IBM QPU Sampling\n\nThis example assumes credentials were saved securely as described in [references\u002Fsetup.md](references\u002Fsetup.md). It never embeds or prints an API key.\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.transpiler import generate_preset_pass_manager\nfrom qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler\n\nservice = QiskitRuntimeService()\nbackend = service.least_busy(\n    operational=True,\n    simulator=False,\n    min_num_qubits=2,\n)\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure_all()\n\npass_manager = generate_preset_pass_manager(\n    backend=backend,\n    optimization_level=1,\n    seed_transpiler=7,\n)\nisa_circuit = pass_manager.run(circuit)\n\nsampler = Sampler(mode=backend)\njob = sampler.run([isa_circuit], shots=1024)\nprint(\"job_id:\", job.job_id())\ncounts = job.result()[0].data.meas.get_counts()\n```\n\nSave the job ID before waiting for results so the job can be retrieved later.\n\n## IBM QPU Estimation\n\nRuntime Estimator requires both an ISA circuit and observables mapped through the transpiler layout:\n\n```python\nfrom qiskit import QuantumCircuit\nfrom qiskit.quantum_info import SparsePauliOp\nfrom qiskit.transpiler import generate_preset_pass_manager\nfrom qiskit_ibm_runtime import EstimatorV2 as Estimator\n\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\nobservable = SparsePauliOp.from_list([(\"ZZ\", 1.0)])\n\npass_manager = generate_preset_pass_manager(\n    backend=backend,\n    optimization_level=1,\n    seed_transpiler=7,\n)\nisa_circuit = pass_manager.run(circuit)\nisa_observable = observable.apply_layout(isa_circuit.layout)\n\nestimator = Estimator(\n    mode=backend,\n    options={\"resilience_level\": 1},\n)\npub_result = estimator.run(\n    [(isa_circuit, isa_observable)],\n    precision=0.02,\n).result()[0]\nprint(pub_result.data.evs, pub_result.data.stds)\n```\n\nError mitigation is not guaranteed to improve every workload and increases cost. Record the complete options and result metadata.\n\n## Non-Negotiable Qiskit 2.x Rules\n\n- Use V2 primitive interfaces and PUB inputs. Do not write new V1 `Sampler`, `Estimator`, or `QuantumInstance` code.\n- Runtime primitives accept ISA circuits; they do not perform layout, routing, and basis translation for you.\n- Apply the transpiler layout to Estimator observables with `observable.apply_layout(isa_circuit.layout)`.\n- Use `mode=backend`, `mode=session`, or `mode=batch` for Runtime primitives.\n- Use `EstimatorV2` for resilience levels and expectation-value mitigation. Sampler has different noise-management options and no Estimator-style resilience levels.\n- Treat `BackendV2.target`, `backend.operation_names`, `backend.coupling_map`, and direct backend attributes as the source of hardware constraints. Do not use `backend.configuration()` or `BackendProperties`.\n- Read Sampler output by classical register name. Bitstrings are displayed most-significant bit first; Qiskit qubit 0 is conventionally the least-significant bit.\n- Use a fixed `seed_transpiler` when comparing compilation settings. A simulator seed does not make QPU results deterministic.\n- `qiskit.pulse` was removed in Qiskit 2.0. Use supported fractional gates for IBM hardware or Qiskit Dynamics for pulse-model research.\n- QPY is the Qiskit-native circuit serialization format. Do not use Python pickle for untrusted circuit artifacts.\n\nSee [references\u002Fmigration.md](references\u002Fmigration.md) for a detailed old-to-current API map.\n\n## Execution Modes\n\nChoose based on workload shape and account plan:\n\n- **Job mode**: one-off work; instantiate a primitive with `mode=backend`.\n- **Batch mode**: independent jobs submitted together; available on the Open Plan.\n- **Session mode**: iterative jobs that benefit from prioritized follow-on execution; unavailable on the Open Plan.\n\n```python\nfrom qiskit_ibm_runtime import Batch, SamplerV2 as Sampler\n\nwith Batch(backend=backend, max_time=\"10m\") as batch:\n    sampler = Sampler(mode=batch)\n    jobs = [sampler.run([circuit], shots=1024) for circuit in isa_circuits]\n\nresults = [job.result() for job in jobs]\n```\n\nClose sessions and batches after submission. Exiting their context stops new submissions but allows accepted jobs to finish, subject to service limits.\n\n## Reference Map\n\nRead only the files needed for the current task:\n\n| Topic | Reference |\n|---|---|\n| Versions, installation, authentication, CI | [references\u002Fsetup.md](references\u002Fsetup.md) |\n| Circuits, parameters, control flow, QPY | [references\u002Fcircuits.md](references\u002Fcircuits.md) |\n| V2 PUBs, broadcasting, local and Runtime results | [references\u002Fprimitives.md](references\u002Fprimitives.md) |\n| Targets, ISA circuits, layouts, pass managers | [references\u002Ftranspilation.md](references\u002Ftranspilation.md) |\n| IBM backends, modes, jobs, Aer, mitigation | [references\u002Fbackends.md](references\u002Fbackends.md) |\n| End-to-end map\u002Foptimize\u002Fexecute\u002Fanalyze patterns | [references\u002Fpatterns.md](references\u002Fpatterns.md) |\n| Algorithms, addons, Nature, ML, Optimization | [references\u002Falgorithms.md](references\u002Falgorithms.md) |\n| Circuit, result, state, and backend plots | [references\u002Fvisualization.md](references\u002Fvisualization.md) |\n| Qiskit 0.x\u002F1.x and Runtime migration | [references\u002Fmigration.md](references\u002Fmigration.md) |\n| Testing, reproducibility, and troubleshooting | [references\u002Ftesting.md](references\u002Ftesting.md) |\n| Upstream docs, release notes, and version baseline | [references\u002Fsources.md](references\u002Fsources.md) |\n\n## Bundled Scripts\n\nRun from the skill directory:\n\n```bash\n# Installed-package and legacy-environment checks; no network or credential reads\npython scripts\u002Fcheck_environment.py\n\n# Runnable V2 local Sampler and Estimator example\npython scripts\u002Frun_local_primitives.py --shots 1024 --seed 7\n\n# Read-only IBM backend capability inspection; uses saved credentials\npython scripts\u002Finspect_runtime.py --min-qubits 5\n```\n\nThe Runtime inspection script selects or inspects a backend but never submits a quantum job.\n\n## Final Checklist\n\nBefore returning Qiskit code:\n\n1. Confirm package versions and Python compatibility.\n2. Run locally with statevector primitives or Aer.\n3. Verify parameter order, observable qubit count, and classical-register names.\n4. Transpile against the exact `BackendV2` target and inspect depth and two-qubit operations.\n5. Apply the final layout to every observable.\n6. Estimate QPU cost and choose job, batch, or session mode.\n7. Save job IDs, package versions, seeds, backend name, primitive options, and result metadata.\n8. Never expose API keys in source, logs, notebooks, or version control.\n\n## Related skills\n\n- `cirq`: Google quantum computing framework.\n- `pennylane`: Hardware-agnostic quantum ML framework with automatic differentiation.\n- `pi-agent`: Build with and use Pi, the minimal terminal coding harness.\n",{"name":5,"license":15,"metadata":43,"description":7,"compatibility":48},{"tags":44,"version":45,"category":46,"maintainer":47},"quantum computing, quantum circuits, IBM Quantum, physics","2.1","physical-sciences","Kalaris Labs","Python 3.10+ on a supported 64-bit platform. Local SDK workflows need qiskit; noisy simulation needs qiskit-aer; IBM QPU access needs qiskit-ibm-runtime, network access, an IBM Quantum Platform account, and an API key.","main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit",490,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-14 02:12:02",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill qiskit",{"tool":65,"command":66},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill qiskit",{"tool":68,"command":69},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill qiskit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002FSKILL.md",true,[73,79,83,87,91,95,99,103,107,111,115,119,125,129],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Falgorithms.md","REFERENCE","参考文档",9893,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Falgorithms.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fbackends.md",11200,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fbackends.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fcircuits.md",9568,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fcircuits.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fmigration.md",9815,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fmigration.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fpatterns.md",9351,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fpatterns.md",{"path":96,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fprimitives.md",11876,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fprimitives.md",{"path":100,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fsetup.md",8132,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fsetup.md",{"path":104,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fsources.md",9311,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fsources.md",{"path":108,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Ftesting.md",10695,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Ftesting.md",{"path":112,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Ftranspilation.md",10825,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Ftranspilation.md",{"path":116,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Fvisualization.md",8102,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Freferences\u002Fvisualization.md",{"path":120,"resourceType":121,"resourceTypeDesc":122,"sizeBytes":123,"sourceHtmlUrl":124},"scripts\u002Fcheck_environment.py","SCRIPT","脚本",7930,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Fscripts\u002Fcheck_environment.py",{"path":126,"resourceType":121,"resourceTypeDesc":122,"sizeBytes":127,"sourceHtmlUrl":128},"scripts\u002Finspect_runtime.py",6425,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Fscripts\u002Finspect_runtime.py",{"path":130,"resourceType":121,"resourceTypeDesc":122,"sizeBytes":131,"sourceHtmlUrl":132},"scripts\u002Frun_local_primitives.py",5622,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FKalarisLabs\u002Fresearch-agent-skills\u002Fskills\u002Fqiskit\u002Fscripts\u002Frun_local_primitives.py",[134,142,149,156,182,207],{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":141},"01M746ZWACVKMZ1BJXJZHYJSSX","migrate-to-e2e","Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for \u002Fmigrate-to-e2e, \"migrate our tests to e2e\", \"port these Maestro flows\", \"move our TesterArmy tests\", or when a project has an e2e config and an older suite still running.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fmigrate-to-e2e\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":141},"01M746ZPTAX1Q0FBKAB1CYND7E","e2e","Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fe2e\u002FSKILL.md",[],[],{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":141},"01M746ZJN784HVHMDP9MQGCSGG","create-verification-skill","Generate a project-local verify-\u003Capp> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for \u002Fcreate-verification-skill, \"make a verification skill for this repo\", or when a project has no scripted way to prove UI behavior.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fcreate-verification-skill\u002FSKILL.md",[],[],{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":38},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[163,164,165,22,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],"search","deja search","never","ready","memory","re","decide","fix","design","debugging","when","you","done","reviewer","io","change","cli","merge","past",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":38},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[189,190,191,177,192,193,194,195,196,197,198,199,200,201,167,202,203,204,205,206],"deja reflect","reflect","review","with","record","github","next","https","node","Rules","decisions","brew","remember","project rules","project","session","end","reflection",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":224,"publishedAt":38},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[213,218,221],{"categoryNo":214,"categoryName":215,"taxonomyType":216,"taxonomyTypeDesc":217},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":219,"categoryName":220,"taxonomyType":216,"taxonomyTypeDesc":217},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":222,"categoryName":223,"taxonomyType":216,"taxonomyTypeDesc":217},"01JBSEEDCAT000000000000010","后端与接口",[209,225,226,227,228,229,230,203,231,168,232,233,234,235,173,236,237,238,32,239],"URL","Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","image","mcp server","schedule","publish"]