Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
parcadei avatar

Channel Capacity

  • 1 installs
  • 3.9k repo stars
  • Updated January 26, 2026
  • parcadei/continuous-claude-v3

Guides Claude through information-theory channel-capacity problems using mutual information, channel matrices, and known channel capacities via scipy.

About

A decision-tree skill for computing channel capacity by maximizing mutual information over input distributions. A developer uses it when they want Claude to model channels like the binary symmetric channel and compute capacity.

  • Mutual information via entropy decomposition
  • Capacity formulas for standard channels like BSC

Channel Capacity by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,803 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/parcadei/continuous-claude-v3 --skill channel-capacity

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars3.9k
Last updatedJanuary 26, 2026
Repositoryparcadei/continuous-claude-v3

What it does

Guides Claude through information-theory channel-capacity problems using mutual information, channel matrices, and known channel capacities via scipy.

Files

SKILL.mdMarkdownGitHub ↗

Channel Capacity

When to Use

Use this skill when working on channel-capacity problems in information theory.

Decision Tree

1. Mutual Information

  • I(X;Y) = H(X) + H(Y) - H(X,Y)
  • I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)
  • Symmetric: I(X;Y) = I(Y;X)
  • scipy.stats.entropy(p) + scipy.stats.entropy(q) - joint_entropy

2. Channel Model

  • Input X, output Y, channel P(Y|X)
  • Channel matrix: rows = inputs, columns = outputs
  • Element (i,j) = P(Y=j | X=i)

3. Channel Capacity

  • C = max_{p(x)} I(X;Y)
  • Maximize over input distribution
  • Achieved by capacity-achieving distribution

4. Common Channels

ChannelCapacity
Binary Symmetric (BSC)1 - H(p) where p = crossover prob
Binary Erasure (BEC)1 - epsilon where epsilon = erasure prob
AWGN0.5 * log2(1 + SNR)

5. Blahut-Arimoto Algorithm

  • Iterative algorithm to compute capacity
  • Alternates between optimizing p(x) and p(y|x)
  • Converges to capacity
  • z3_solve.py prove "capacity_upper_bound"

Tool Commands

Scipy_Mutual_Info

uv run python -c "from scipy.stats import entropy; p = [0.5, 0.5]; q = [0.6, 0.4]; H_X = entropy(p, base=2); H_Y = entropy(q, base=2); print('H(X)=', H_X, 'H(Y)=', H_Y)"

Sympy_Bsc_Capacity

uv run python -m runtime.harness scripts/sympy_compute.py simplify "1 + p*log(p, 2) + (1-p)*log(1-p, 2)"

Z3_Capacity_Bound

uv run python -m runtime.harness scripts/z3_solve.py prove "I(X;Y) <= H(X)"

Key Techniques

From indexed textbooks:

  • [Elements of Information Theory] Elements of Information Theory -- Thomas M_ Cover &amp; Joy A_ Thomas -- 2_, Auflage, New York, NY, 2012 -- Wiley-Interscience -- 9780470303153 -- 2fcfe3e8a16b3aeefeaf9429fcf9a513 -- Anna’s Archive. Using a randomly generated code, Shannon showed that one can send information at any rate below the capacity C of the channel with an arbitrarily low probability of error. The idea of a randomly generated code is very unusual.

Cognitive Tools Reference

See .claude/skills/math-mode/SKILL.md for full tool documentation.

Related skills

Data Science & MLagentsresearch

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.