Best use case
source-coding is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Problem-solving strategies for source coding in information theory
Teams using source-coding should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/source-coding/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How source-coding Compares
| Feature / Agent | source-coding | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Problem-solving strategies for source coding in information theory
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Source Coding
## When to Use
Use this skill when working on source-coding problems in information theory.
## Decision Tree
1. **Source Coding Theorem**
- Minimum average code length >= H(X)
- Achievable with optimal codes
- `z3_solve.py prove "shannon_bound"`
2. **Huffman Coding**
- Optimal prefix-free code for known distribution
- Build tree: combine two least probable symbols
- Average length: H(X) <= L < H(X) + 1
- `sympy_compute.py simplify "expected_code_length"`
3. **Kraft Inequality**
- For prefix-free code: sum 2^{-l_i} <= 1
- Necessary and sufficient
- `z3_solve.py prove "kraft_inequality"`
4. **Arithmetic Coding**
- Approaches entropy for any distribution
- Encodes entire message as interval [0,1)
- Practical for adaptive/unknown distributions
5. **Rate-Distortion Theory**
- Lossy compression: trade rate for distortion
- R(D) = min_{p(x_hat|x): E[d(X,X_hat)]<=D} I(X;X_hat)
- Minimum rate to achieve distortion D
- `sympy_compute.py minimize "I(X;X_hat)" --constraint "E[d] <= D"`
## Tool Commands
### Scipy_Huffman
```bash
uv run python -c "print('Huffman codes for a=0.5, b=0.25, c=0.125, d=0.125: a=0, b=10, c=110, d=111')"
```
### Sympy_Kraft
```bash
uv run python -m runtime.harness scripts/sympy_compute.py simplify "2**(-l1) + 2**(-l2) + 2**(-l3) + 2**(-l4)"
```
### Z3_Shannon_Bound
```bash
uv run python -m runtime.harness scripts/z3_solve.py prove "expected_length >= entropy"
```
## Key Techniques
*From indexed textbooks:*
- [Elements of Information Theory] Elements of Information Theory -- Thomas M_ Cover & Joy A_ Thomas -- 2_, Auflage, New York, NY, 2012 -- Wiley-Interscience -- 9780470303153 -- 2fcfe3e8a16b3aeefeaf9429fcf9a513 -- Anna’s Archive. The Shannon–Fano–Elias coding procedure can also be applied to sequences of random variables. The key idea is to use the cumulative distribution function of the sequence, expressed to the appropriate accuracy, as a code for the sequence.
- [Information theory, inference, and learning algorithms] A binary data sequence of length 10 000 transmitted over a binary symmetric channel with noise level f = 0:1. Dilbert image Copyright c Syndicate, Inc. The physical solution is to improve the physical characteristics of the commu- nication channel to reduce its error probability.
- [Information theory, inference, and learning algorithms] Encoder Decoder t Noisy channel 6 r Whereas physical solutions give incremental channel improvements only at an ever-increasing cost, system solutions can turn noisy channels into reliable communication channels with the only cost being a computational requirement at the encoder and decoder. Coding theory is concerned with the creation of practical encoding and We now consider examples of encoding and decoding systems. What is the simplest way to add useful redundancy to a transmission?
## Cognitive Tools Reference
See `.claude/skills/math-mode/SKILL.md` for full tool documentation.Related Skills
java-coding-standards
Java coding standards for Spring Boot services: naming, immutability, Optional usage, streams, exceptions, generics, and project layout.
coding-standards
Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.
workflow-router
Goal-based workflow orchestration - routes tasks to specialist agents based on user goals
wiring
Wiring Verification
websocket-patterns
Connection management, room patterns, reconnection strategies, message buffering, and binary protocol design.
visual-verdict
Screenshot comparison QA for frontend development. Takes a screenshot of the current implementation, scores it across multiple visual dimensions, and returns a structured PASS/REVISE/FAIL verdict with concrete fixes. Use when implementing UI from a design reference or verifying visual correctness.
verification-loop
Comprehensive verification system covering build, types, lint, tests, security, and diff review before a PR.
vector-db-patterns
Embedding strategies, ANN algorithms, hybrid search, RAG chunking strategies, and reranking for semantic search and retrieval.
variant-analysis
Find similar vulnerabilities across a codebase after discovering one instance. Uses pattern matching, AST search, Semgrep/CodeQL queries, and manual tracing to propagate findings. Adapted from Trail of Bits. Use after finding a bug to check if the same pattern exists elsewhere.
validate-agent
Validation agent that validates plan tech choices against current best practices
tracing-patterns
OpenTelemetry setup, span context propagation, sampling strategies, Jaeger queries
tour
Friendly onboarding tour of Claude Code capabilities for users asking what it can do.