diff --git a/.github/social-preview.png b/.github/social-preview.png
new file mode 100644
index 0000000..a08504e
Binary files /dev/null and b/.github/social-preview.png differ
diff --git a/README.md b/README.md
index e071a38..fed4487 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,12 @@
+
+
+
+
+
+
+
+
+
# libtmux for Ruby
Create tmux sessions, split windows, send input, and capture pane output from
diff --git a/assets/README.md b/assets/README.md
new file mode 100644
index 0000000..6a297c7
--- /dev/null
+++ b/assets/README.md
@@ -0,0 +1,14 @@
+# Logo assets
+
+SVG and 512 × 512 transparent PNG artwork from the libtmux logo kit,
+revision `555f60aff5341d8ba59c7466eb9abb537084c98d`.
+
+Library marks use the cog, workspace marks the tiled tmuxp base, and MCP
+marks the Model Context Protocol symbol. Language colors follow
+[GitHub Linguist](https://github.com/github-linguist/linguist/blob/538da05f034fa5c83bd81df128d144e208898da3/lib/linguist/languages.yml).
+The source libtmux and tmuxp artwork belongs to the project owner. The MCP
+symbol comes from the [upstream logo](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/088176704a4e8f20e7f1d237de1de8484aa412fd/docs/logo/light.svg).
+
+Package-specific artwork sits beside its README where the package format
+supports it. `.github/social-preview.png` is the cog sharing card, ready to
+upload under the repository's **Settings → Social preview**.
diff --git a/assets/logo.png b/assets/logo.png
new file mode 100644
index 0000000..13fbbab
Binary files /dev/null and b/assets/logo.png differ
diff --git a/assets/logo.svg b/assets/logo.svg
new file mode 100644
index 0000000..8667107
--- /dev/null
+++ b/assets/logo.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/gems/libtmux-async/README.md b/gems/libtmux-async/README.md
index dbec22d..49a841c 100644
--- a/gems/libtmux-async/README.md
+++ b/gems/libtmux-async/README.md
@@ -1,3 +1,12 @@
+
+
+
+
+
+
+
+
+
# libtmux-async
Run libtmux operations inside an application-owned Async task. This
diff --git a/gems/libtmux-async/assets/logo.png b/gems/libtmux-async/assets/logo.png
new file mode 100644
index 0000000..13fbbab
Binary files /dev/null and b/gems/libtmux-async/assets/logo.png differ
diff --git a/gems/libtmux-async/assets/logo.svg b/gems/libtmux-async/assets/logo.svg
new file mode 100644
index 0000000..8667107
--- /dev/null
+++ b/gems/libtmux-async/assets/logo.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/gems/libtmux-async/libtmux-async.gemspec b/gems/libtmux-async/libtmux-async.gemspec
index 6d77b26..a6f123b 100644
--- a/gems/libtmux-async/libtmux-async.gemspec
+++ b/gems/libtmux-async/libtmux-async.gemspec
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
spec.require_paths = ["lib"]
spec.files = %w[
LICENSE README.md
+ assets/logo.svg assets/logo.png
lib/libtmux/async.rb
lib/libtmux/async/version.rb
lib/libtmux/async/process.rb
diff --git a/gems/libtmux-mcp/README.md b/gems/libtmux-mcp/README.md
index 52011ab..1712ff3 100644
--- a/gems/libtmux-mcp/README.md
+++ b/gems/libtmux-mcp/README.md
@@ -1,3 +1,12 @@
+
+
+
+
+
+
+
+
+
# libtmux-mcp
Expose an existing tmux server over MCP stdio. Read snapshots, capture pane
diff --git a/gems/libtmux-mcp/assets/logo.png b/gems/libtmux-mcp/assets/logo.png
new file mode 100644
index 0000000..eb31f62
Binary files /dev/null and b/gems/libtmux-mcp/assets/logo.png differ
diff --git a/gems/libtmux-mcp/assets/logo.svg b/gems/libtmux-mcp/assets/logo.svg
new file mode 100644
index 0000000..34dc4aa
--- /dev/null
+++ b/gems/libtmux-mcp/assets/logo.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/gems/libtmux-mcp/libtmux-mcp.gemspec b/gems/libtmux-mcp/libtmux-mcp.gemspec
index 1ea001d..14d92d0 100644
--- a/gems/libtmux-mcp/libtmux-mcp.gemspec
+++ b/gems/libtmux-mcp/libtmux-mcp.gemspec
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
spec.executables = ["libtmux-mcp"]
spec.files = %w[
LICENSE README.md
+ assets/logo.svg assets/logo.png
exe/libtmux-mcp
lib/libtmux/mcp.rb
lib/libtmux/mcp/version.rb
diff --git a/gems/libtmux-workspace/README.md b/gems/libtmux-workspace/README.md
index cc6299e..77cce8a 100644
--- a/gems/libtmux-workspace/README.md
+++ b/gems/libtmux-workspace/README.md
@@ -1,3 +1,12 @@
+
+
+
+
+
+
+
+
+
# libtmux-workspace
Load bounded YAML or JSON, inspect an immutable creation plan, then explicitly
diff --git a/gems/libtmux-workspace/assets/logo.png b/gems/libtmux-workspace/assets/logo.png
new file mode 100644
index 0000000..0e58873
Binary files /dev/null and b/gems/libtmux-workspace/assets/logo.png differ
diff --git a/gems/libtmux-workspace/assets/logo.svg b/gems/libtmux-workspace/assets/logo.svg
new file mode 100644
index 0000000..494f3eb
--- /dev/null
+++ b/gems/libtmux-workspace/assets/logo.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/gems/libtmux-workspace/libtmux-workspace.gemspec b/gems/libtmux-workspace/libtmux-workspace.gemspec
index 9020ba1..cc4be4e 100644
--- a/gems/libtmux-workspace/libtmux-workspace.gemspec
+++ b/gems/libtmux-workspace/libtmux-workspace.gemspec
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
spec.executables = ["libtmux-workspace"]
spec.files = %w[
LICENSE README.md
+ assets/logo.svg assets/logo.png
exe/libtmux-workspace
lib/libtmux/workspace.rb
lib/libtmux/workspace/apply.rb
diff --git a/gems/libtmux/README.md b/gems/libtmux/README.md
index e660c0c..13bbac3 100644
--- a/gems/libtmux/README.md
+++ b/gems/libtmux/README.md
@@ -1,3 +1,12 @@
+
+
+
+
+
+
+
+
+
# libtmux
Ruby tmux orchestration core. `Server.open` borrows an
diff --git a/gems/libtmux/assets/logo.png b/gems/libtmux/assets/logo.png
new file mode 100644
index 0000000..13fbbab
Binary files /dev/null and b/gems/libtmux/assets/logo.png differ
diff --git a/gems/libtmux/assets/logo.svg b/gems/libtmux/assets/logo.svg
new file mode 100644
index 0000000..8667107
--- /dev/null
+++ b/gems/libtmux/assets/logo.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/gems/libtmux/libtmux.gemspec b/gems/libtmux/libtmux.gemspec
index 0b0f76c..0011034 100644
--- a/gems/libtmux/libtmux.gemspec
+++ b/gems/libtmux/libtmux.gemspec
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
spec.require_paths = ["lib"]
spec.files = %w[
LICENSE README.md
+ assets/logo.svg assets/logo.png
lib/libtmux.rb
lib/libtmux/version.rb
lib/libtmux/errors.rb