Source profileQuality 95/100

K-Dense-AI/scientific-agent-skills/skills/cirq/SKILL.md

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

Source repository stars
34,478
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-26

Decision brief

What it does: where it fits

Cirq is Google Quantum AI's open-source framework for designing, simulating, and running quantum circuits on quantum computers and simulators.

Best for

  • Building, simulating, or optimizing NISQ circuits in Python
  • Running jobs on Google Quantum AI processors (via cirq-google) or partner backends (IonQ, Azure Quantum, AQT, Pasqal)
  • Modeling noise, compiling to hardware gatesets, or designing characterization experiments

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills --skill "skills/cirq"
Safe inspection promptEditorial

Inspect the Agent Skill "cirq" from https://github.com/K-Dense-AI/scientific-agent-skills/blob/36d8f13a1e754618794bf42f417884940077b4ae/skills/cirq/SKILL.md at commit 36d8f13a1e754618794bf42f417884940077b4ae. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Quick Start

    python import cirq import numpy as np

    python import cirq import numpy as np
  2. 02

    Process results

    for params, result in zip(sweep, results): thetaval = params['theta'] counts = result.histogram(key='m') print(f"θ={thetaval:.2f}: {counts}") python import scipy.optimize

    for params, result in zip(sweep, results): thetaval = params['theta'] counts = result.histogram(key='m') print(f"θ={thetaval:.2f}: {counts}") python import scipy.optimizedef variationalalgorithm(ansatz, costfunction, initialparams): """Template for variational quantum algorithms."""def objective(params): circuit = ansatz(params) simulator = cirq.Simulator() result = simulator.simulate(circuit) return costfunction(result)
  3. 03

    When to Use This Skill

    Use this skill when: - Building, simulating, or optimizing NISQ circuits in Python - Running jobs on Google Quantum AI processors (via cirq-google) or partner backends (IonQ, Azure Quantum, AQT, Pasqal) - Modeling noise, compiling to hardware gatesets, or designing characterizat…

    Building, simulating, or optimizing NISQ circuits in PythonRunning jobs on Google Quantum AI processors (via cirq-google) or partner backends (IonQ, Azure Quantum, AQT, Pasqal)Modeling noise, compiling to hardware gatesets, or designing characterization experiments
  4. 04

    Installation

    Requires Python 3.11+. Current stable release: 1.6.1 (August 2025). Vendor packages share the same version number.

    Requires Python 3.11+. Current stable release: 1.6.1 (August 2025). Vendor packages share the same version number.For hardware integration (pin matching versions for reproducibility): bash
  5. 05

    Google Quantum Engine (requires approved GCP project access)

    uv pip install "cirq-google==1.6.1"

    uv pip install "cirq-google==1.6.1"

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score95/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars34,478SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
K-Dense-AI/scientific-agent-skills
Skill path
skills/cirq/SKILL.md
Commit
36d8f13a1e754618794bf42f417884940077b4ae
License
MIT
Collected
2026-08-26
Default branch
main
View the original SKILL.md

Cirq - Quantum Computing with Python

Cirq is Google Quantum AI's open-source framework for designing, simulating, and running quantum circuits on quantum computers and simulators.

When to Use This Skill

Use this skill when:

  • Building, simulating, or optimizing NISQ circuits in Python
  • Running jobs on Google Quantum AI processors (via cirq-google) or partner backends (IonQ, Azure Quantum, AQT, Pasqal)
  • Modeling noise, compiling to hardware gatesets, or designing characterization experiments
  • Using parameter sweeps, transformers, or the ReCirq experiment patterns

For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

Installation

Requires Python 3.11+. Current stable release: 1.6.1 (August 2025). Vendor packages share the same version number.

uv pip install "cirq==1.6.1"

For hardware integration (pin matching versions for reproducibility):

# Google Quantum Engine (requires approved GCP project access)
uv pip install "cirq-google==1.6.1"

# IonQ
uv pip install "cirq-ionq==1.6.1"

# AQT (Alpine Quantum Technologies)
uv pip install "cirq-aqt==1.6.1"

# Pasqal
uv pip install "cirq-pasqal==1.6.1"

# Azure Quantum (IonQ, Honeywell/Quantinuum backends)
uv pip install "azure-quantum[cirq]"

For latest features during development, omit version pins; for production or hardware runs, pin all packages to the same Cirq release.

Quick Start

Basic Circuit

import cirq
import numpy as np

# Create qubits
q0, q1 = cirq.LineQubit.range(2)

# Build circuit
circuit = cirq.Circuit(
    cirq.H(q0),              # Hadamard on q0
    cirq.CNOT(q0, q1),       # CNOT with q0 control, q1 target
    cirq.measure(q0, q1, key='result')
)

print(circuit)

# Simulate
simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=1000)

# Display results
print(result.histogram(key='result'))

Parameterized Circuit

import sympy

# Define symbolic parameter
theta = sympy.Symbol('theta')

# Create parameterized circuit
circuit = cirq.Circuit(
    cirq.ry(theta)(q0),
    cirq.measure(q0, key='m')
)

# Sweep over parameter values
sweep = cirq.Linspace('theta', start=0, stop=2*np.pi, length=20)
results = simulator.run_sweep(circuit, params=sweep, repetitions=1000)

# Process results
for params, result in zip(sweep, results):
    theta_val = params['theta']
    counts = result.histogram(key='m')
    print(f"θ={theta_val:.2f}: {counts}")

Core Capabilities

Circuit Building

For comprehensive information about building quantum circuits, including qubits, gates, operations, custom gates, and circuit patterns, see:

Common topics:

  • Qubit types (GridQubit, LineQubit, NamedQubit)
  • Single and two-qubit gates
  • Parameterized gates and operations
  • Custom gate decomposition
  • Circuit organization with moments
  • Standard circuit patterns (Bell states, GHZ, QFT)
  • Import/export (OpenQASM, JSON)
  • Working with qudits and observables

Simulation

For detailed information about simulating quantum circuits, including exact simulation, noisy simulation, parameter sweeps, and the Quantum Virtual Machine, see:

Common topics:

  • Exact simulation (state vector, density matrix)
  • Sampling and measurements
  • Parameter sweeps (single and multiple parameters)
  • Noisy simulation
  • State histograms and visualization
  • Quantum Virtual Machine (QVM)
  • Expectation values and observables
  • Performance optimization

Circuit Transformation

For information about optimizing, compiling, and manipulating quantum circuits, see:

Common topics:

  • Transformer framework
  • Gate decomposition
  • Circuit optimization (merge gates, eject Z gates, drop negligible operations)
  • Circuit compilation for hardware
  • Qubit routing and SWAP insertion
  • Custom transformers
  • Transformation pipelines

Hardware Integration

For information about running circuits on real quantum hardware from various providers, see:

Supported providers:

  • Google Quantum AI (cirq-google) — Sycamore, Weber, Willow processors via Quantum Engine (restricted access; requires approved GCP project)
  • IonQ (cirq-ionq) — trapped-ion QPUs and simulators
  • Azure Quantum (azure-quantum[cirq]) — IonQ and Honeywell/Quantinuum backends
  • AQT (cirq-aqt) — Alpine Quantum Technologies
  • Pasqal (cirq-pasqal) — neutral-atom devices

Topics include device representation, qubit selection, authentication, job management, and circuit optimization for hardware. See Access and authentication for Google Cloud setup.

Noise Modeling

For information about modeling noise, noisy simulation, characterization, and error mitigation, see:

Common topics:

  • Noise channels (depolarizing, amplitude damping, phase damping)
  • Noise models (constant, gate-specific, qubit-specific, thermal)
  • Adding noise to circuits
  • Readout noise
  • Noise characterization (randomized benchmarking, XEB)
  • Noise visualization (heatmaps)
  • Error mitigation techniques

Quantum Experiments

For information about designing experiments, parameter sweeps, data collection, and using the ReCirq framework, see:

Common topics:

  • Experiment design patterns
  • Parameter sweeps and data collection
  • ReCirq framework structure
  • Common algorithms (VQE, QAOA, QPE)
  • Data analysis and visualization
  • Statistical analysis and fidelity estimation
  • Parallel data collection

Common Patterns

Variational Algorithm Template

import scipy.optimize

def variational_algorithm(ansatz, cost_function, initial_params):
    """Template for variational quantum algorithms."""

    def objective(params):
        circuit = ansatz(params)
        simulator = cirq.Simulator()
        result = simulator.simulate(circuit)
        return cost_function(result)

    # Optimize
    result = scipy.optimize.minimize(
        objective,
        initial_params,
        method='COBYLA'
    )

    return result

# Define ansatz
def my_ansatz(params):
    q = cirq.LineQubit(0)
    return cirq.Circuit(
        cirq.ry(params[0])(q),
        cirq.rz(params[1])(q)
    )

# Define cost function
def my_cost(result):
    state = result.final_state_vector
    # Calculate cost based on state
    return np.real(state[0])

# Run optimization
result = variational_algorithm(my_ansatz, my_cost, [0.0, 0.0])

Hardware Execution Template

import os

def run_on_hardware(circuit, provider='google', processor_id=None, repetitions=1000):
    """Template for running on quantum hardware."""

    if provider == 'google':
        import cirq_google as cg

        project_id = os.environ['GOOGLE_CLOUD_PROJECT']
        engine = cg.Engine(project_id=project_id)

        # List available processors: engine.list_processors()
        processor_id = processor_id or 'weber'  # use your assigned processor_id
        sampler = engine.get_sampler(processor_id=processor_id)
        return sampler.run(circuit, repetitions=repetitions)

    elif provider == 'ionq':
        import cirq_ionq as ionq

        # Requires IONQ_API_KEY in environment
        service = ionq.Service()
        return service.run(circuit, repetitions=repetitions, target='qpu')

    elif provider == 'azure':
        from azure.quantum.cirq import AzureQuantumService

        service = AzureQuantumService(
            resource_id=os.environ['AZURE_QUANTUM_RESOURCE_ID'],
            location=os.environ['AZURE_QUANTUM_LOCATION'],
        )
        return service.run(circuit, repetitions=repetitions, target='ionq.qpu')

    else:
        raise ValueError(f"Unknown provider: {provider}")

Noise Study Template

def noise_comparison_study(circuit, noise_levels):
    """Compare circuit performance at different noise levels."""

    results = {}

    for noise_level in noise_levels:
        # Create noisy circuit
        noisy_circuit = circuit.with_noise(cirq.depolarize(p=noise_level))

        # Simulate
        simulator = cirq.DensityMatrixSimulator()
        result = simulator.run(noisy_circuit, repetitions=1000)

        # Analyze
        results[noise_level] = {
            'histogram': result.histogram(key='result'),
            'dominant_state': max(
                result.histogram(key='result').items(),
                key=lambda x: x[1]
            )
        }

    return results

# Run study
noise_levels = [0.0, 0.001, 0.01, 0.05, 0.1]
results = noise_comparison_study(circuit, noise_levels)

Best Practices

  1. Circuit Design

    • Use appropriate qubit types for your topology
    • Keep circuits modular and reusable
    • Label measurements with descriptive keys
    • Validate circuits against device constraints before execution
  2. Simulation

    • Use state vector simulation for pure states (more efficient)
    • Use density matrix simulation only when needed (mixed states, noise)
    • Leverage parameter sweeps instead of individual runs
    • Monitor memory usage for large systems (2^n grows quickly)
  3. Hardware Execution

    • Always test on simulators first
    • Select best qubits using calibration data
    • Optimize circuits for target hardware gateset
    • Implement error mitigation for production runs
    • Store expensive hardware results immediately
  4. Circuit Optimization

    • Start with high-level built-in transformers
    • Chain multiple optimizations in sequence
    • Track depth and gate count reduction
    • Validate correctness after transformation
  5. Noise Modeling

    • Use realistic noise models from calibration data
    • Include all error sources (gate, decoherence, readout)
    • Characterize before mitigating
    • Keep circuits shallow to minimize noise accumulation
  6. Experiments

    • Structure experiments with clear separation (data generation, collection, analysis)
    • Use ReCirq patterns for reproducibility
    • Save intermediate results frequently
    • Parallelize independent tasks
    • Document thoroughly with metadata

Additional Resources

Common Issues

Circuit too deep for hardware:

  • Use circuit optimization transformers to reduce depth
  • See transformation.md for optimization techniques

Memory issues with simulation:

  • Switch from density matrix to state vector simulator
  • Reduce number of qubits or use stabilizer simulator for Clifford circuits

Device validation errors:

  • Check qubit connectivity with device.metadata.nx_graph
  • Decompose gates to device-native gateset
  • See hardware.md for device-specific compilation

Noisy simulation too slow:

  • Density matrix simulation is O(2^2n) - consider reducing qubits
  • Use noise models selectively on critical operations only
  • See simulation.md for performance optimization

Frequently asked questions

What to verify before installation and use

What does the cirq source document cover?

Cirq is Google Quantum AI's open-source framework for designing, simulating, and running quantum circuits on quantum computers and simulators.

How do I install cirq?

The source record exposes this install command: npx skills add https://github.com/K-Dense-AI/scientific-agent-skills --skill "skills/cirq". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 98269

Aperivue/medsci-skills

make-figures

Generate publication-ready figures and visual abstracts for medical research papers. Supports ROC curves, forest plots, CONSORT/STARD/PRISMA flow diagrams, calibration plots, Kaplan-Meier curves, Bland-Altman plots, confusion matrices, pipeline diagrams, and journal-specific visual/graphical abstracts (python-pptx template-based).

Computed 98128

ffroliva/gflow-cli

gflow-cli

Use when the user wants to drive Google Flow (Veo image-to-video, Veo text-to-video, Imagen / Nano Banana image generation) from the terminal or a script — including text-to-video, image-to-video, image-to-image, batch image pipelines, or spending Flow credits programmatically. The CLI is `gflow` (or `flow`); install with `uv tool install gflow-cli` or run ad-hoc with `uvx --from gflow-cli gflow ...`. Drives the real Flow web UI through a headed Chrome session (Playwright) after a one-time brows

Computed 986

gaelic-ghost/socket

python-ci-workflow

Design and maintain Python CI workflows around uv, pytest, Ruff, mypy, package build checks, dependency caching, Python version matrices, and local-command parity.

Computed 97243,244

affaan-m/ECC

plan-orchestrate

Read a plan document, decompose it into steps, design a per-step agent chain from the ECC catalogue, and emit ready-to-paste /orchestrate custom prompts. Generative only — never invokes /orchestrate itself. Use when the user has a multi-step plan and wants to drive it through orchestrate without composing chains by hand.