
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
Paper Signal turns a brief, photo, or research note into a controlled editorial image workflow. It routes the subject, chooses a composition, saves the exact prompt, generates the bitmap, and checks the result with visual QA and project validation. The repo packages that workflow as four skills, plus schemas, examples, and scripts for creating and validating projects. It also supports evidence records and caption copy for factual or social series work.
Builders who want their agent to make and review editorial images without losing the subject or the prompt history.
You can produce subject-aware image posts, keep the prompts and evidence together, and inspect the bitmap before you ship.
Includes `$paper-signal`, `$paper-signal-art-director`, `$paper-signal-series`, and `$paper-signal-audit` for full production, single-image work, series, and output review.
Routes by subject and composition so identity, geometry, crop, and important details stay intact.
Uses modes like `panorama-strip`, `dual-frame`, `specimen-plate`, and `portrait-archive` instead of one fixed layout.
Can keep an `evidence.json` record and write caption copy for factual posts and social series.
Ships JSON schemas under `schemas/` and validation scripts under `scripts/` for manifests, evidence ledgers, and eval runs.
Includes observation-based bitmap inspection, correction prompts, and example outputs for review.
npx skills add jiahuiqu17/paper-signal
Use $paper-signal-art-director to restyle this photo as a tactile minimal-zine poster. Preserve the subject, save the final prompt, and inspect the bitmap.
npx skills add jiahuiqu17/paper-signal --agent codex npx skills add jiahuiqu17/paper-signal --agent claude-code
gh release download --repo jiahuiqu17/paper-signal \ --pattern "paper-signal-skills-*.zip" --pattern SHA256SUMS shasum -a 256 -c SHA256SUMS unzip paper-signal-skills-v*.zip npx skills add ./paper-signal-v*
git clone https://github.com/jiahuiqu17/paper-signal.git
cd paper-signal
for skill in paper-signal paper-signal-art-director paper-signal-series paper-signal-audit; do
ln -s "$PWD/skills/$skill" "${CODEX_HOME:-$HOME/.codex}/skills/$skill"
donemkdir -p .paper-signal cp skills/paper-signal/assets/PREFERENCES.example.md \ .paper-signal/PREFERENCES.md
Turn photos, ideas, and research into beautiful editorial visuals with Codex or Claude Code.
![]() | ![]() |
![]() | ![]() |
Made with one shared paper-and-ink system and four compositions chosen for the subject. Click any image for the full result.
npx skills add jiahuiqu17/paper-signal
Codex Desktop: end-to-end verified · Claude Code: Skill-compatible · Agent Skills · MIT
Then open a fresh task and ask:
Use $paper-signal-art-director to restyle this photo as a tactile minimal-zine
poster. Preserve the subject, save the final prompt, and inspect the bitmap.
Works as a standard Skill in Codex, Claude Code, and other compatible clients. Final image generation depends on the image tools available in your host; see the verified support levels.
简体中文 · See how it works · Compatibility · Contributing
The simple promise is better-looking editorial imagery. Underneath, Paper Signal protects the things a style prompt often loses:
Paper Signal keeps the whole production chain inspectable:
brief → protect the subject → route subject and composition → art direction
→ save the exact prompt → native raster generation → inspect the bitmap
→ targeted correction → validated project
For factual posts it can also keep an evidence record and write natural caption copy. For a single photograph or idea, it stays compact and focuses on the image.
| Capability | Paper Signal approach |
|---|---|
| Subject integrity | Identity, horizon, silhouette, architecture, crop, and exact values are blocking constraints |
| Composition | Seven adaptive modes selected after the subject route, not one template for every topic |
| Material craft | One physical reproduction process explains grain, dot gain, ink spread, registration, and edge behaviour |
| Colour | One meaningful chromatic signal; no palette contamination for decoration's sake |
| Reproducibility | Every selected image keeps its brief, manifest, final prompt, output, and QA record |
| Social series | Sequence, caption, evidence, and per-card routing are available without burdening a single poster |
| Quality control | Automated structure checks plus full-size and phone-thumbnail visual review |
See docs/comparison.md for a respectful scope comparison with GC Minimal Zine Poster, baoyu-xhs-images, Anthropic Canvas Design, and one-off prompts.
The four Edinburgh images remain the finished-work hero. The compact block below tests a different claim: whether a print transfer can change the material reading without replacing the person or object. Each pair shows a repository-generated fictional edit target followed by the selected Paper Signal result.
| Portrait · identity preservation | |
|---|---|
![]() Before · edit target | ![]() After · Paper Signal |
| Object · geometry and wear preservation | |
![]() Before · edit target | ![]() After · Paper Signal |
The full portrait and object cases include the source-generation prompt, edit target, preservation record, exact transfer prompt, manifest, selected bitmap, asset hashes, and observation-based QA. The README loads only 600 × 800 WebP previews; click any image for the full PNG.
The Quick Start command is interactive. To target a host explicitly:
npx skills add jiahuiqu17/paper-signal --agent codex
npx skills add jiahuiqu17/paper-signal --agent claude-code
Select the full paper-signal entry point or one of the three specialist skills. The repository also contains a Codex plugin manifest at .codex-plugin/plugin.json.
| Host | Skill loading | Complete bitmap workflow |
|---|---|---|
| Codex Desktop | Verified | End-to-end reference runtime with image inspection and built-in ImageGen |
| Codex CLI | Verified discovery and repository tooling | Depends on the image tools configured for that session |
| Claude Code | Agent Skills-compatible; installable with the community installer | Requires an image-inspection and image-generation tool; not yet end-to-end verified here |
| Cursor and other compatible agents | Installer- and host-dependent | Depends on the host capabilities; prompt-only fallback remains available |
The short compatibility line near the top means the Skill format loads on those hosts—not that every host exposes the same image tools. Format compatibility, tool availability, and tested rendering are separate levels. See the maintained compatibility matrix.
Each tagged release includes a deterministic skills-only ZIP and SHA256SUMS. It omits the large visual examples while retaining the four skills, schemas, license, and essential documentation.
gh release download --repo jiahuiqu17/paper-signal \
--pattern "paper-signal-skills-*.zip" --pattern SHA256SUMS
shasum -a 256 -c SHA256SUMS
unzip paper-signal-skills-v*.zip
npx skills add ./paper-signal-v*
Clone the repository, then link the skill folders into Codex:
git clone https://github.com/jiahuiqu17/paper-signal.git
cd paper-signal
for skill in paper-signal paper-signal-art-director paper-signal-series paper-signal-audit; do
ln -s "$PWD/skills/$skill" "${CODEX_HOME:-$HOME/.codex}/skills/$skill"
done
Inspect an existing destination before replacing it. Open a new task after installation so the skill inventory reloads.
Paper Signal bundles no image model, API key, tracking code, or third-party runtime. In Codex it uses built-in ImageGen.
Copy the preference template into a project or user config location:
mkdir -p .paper-signal
cp skills/paper-signal/assets/PREFERENCES.example.md \
.paper-signal/PREFERENCES.md
You can set preferred paper processes, anchor inks, aspect ratio, text burden, caption voice, source-label policy, and banned motifs. Current-request instructions and subject-preservation rules always take precedence. See preferences.md.
| Skill | Use it for |
|---|---|
$paper-signal | Complete routing and production from brief to final bitmap |
$paper-signal-art-director | One poster, landscape, portrait, object, architecture image, or existing-photo restyle |
$paper-signal-series | Two to ten Xiaohongshu/Instagram cards, visual essays, travel diaries, or evidence-led explainers |
$paper-signal-audit | Diagnose generic, inaccurate, AI-looking, or materially weak outputs and write targeted corrections |
Example requests:
Use $paper-signal-art-director to turn this rainy Edinburgh street into a quiet
minimal-zine poster. Preserve the street geometry, use a panorama strip and one
cyanotype plate, save the final prompt, and generate the bitmap.
Use $paper-signal-series to turn these notes and photographs into five
Xiaohongshu images. Route each card by subject, keep one material system,
write the caption, save every prompt, and generate the real image series.
Use $paper-signal-audit to explain which visible details make these images feel
AI-generated. Rank the failures and return one targeted correction prompt per
failed image without regenerating them.
minimal-zine-standard is a material kernel, not a fixed small-photo layout.
| Composition mode | Best for | Active image area |
|---|---|---|
airy-fragment | poems, compact concepts, evidence fragments | 10%-24% |
photo-window | atmospheric photos, architecture, editorial covers | 24%-45% |
panorama-strip | landscape, street, coastline, weather | 18%-36% |
dual-frame | context/detail, near/far, before/after | 22%-42% |
specimen-plate | objects, food, products, plants, garments | 12%-34% |
portrait-archive | people, profiles, documentary portraits | 22%-44% |
type-object | words or numerals that truly are the subject | 12%-30% |
The ranges are perceptual guides. Identity, horizon, silhouette, spatial geometry, and meaningful crop take priority.
A single-image project can stay small:
project/
├── brief.md
├── manifest.json
├── prompts/
└── outputs/
Series add analysis.md and outline.md. Factual work adds evidence.json; personal-sharing work can add caption.md; photo restyles add preservation.md.
Create a project:
python skills/paper-signal/scripts/init_project.py edinburgh-after-rain \
--path ./work --cards 1 --ratio 3:5 \
--subject landscape --composition panorama-strip \
--preset weathered-horizon
Validate it:
python skills/paper-signal/scripts/validate_project.py \
./work/edinburgh-after-rain --require-prompts --require-images
Machine-readable contracts are published in schemas/: project manifest 1.0/1.1, evidence ledger 1.0, behavioural cases 1.0, and eval-run 1.0. The runtime validator remains the source of truth for cross-file and bitmap checks that JSON Schema cannot express.
edinburgh-field-studies — four 3:4 images, four composition modes, one material identity; complete and validated.portrait-carbon-study — source-to-result identity-preservation proof with a fictional redistributable fixture.object-specimen-study — source-to-result silhouette, component, wear, and material-preservation proof.edinburgh-after-rain — self-contained single-landscape prompt and correction history.three-course-field-guide — evidence-led Xiaohongshu planning, caption, prompts, and selected cover.New here? Start with Good First Contributions. You do not need to understand the whole architecture to test a host, improve one installation note, report a visual regression, or contribute a complete example.
The runtime and core test suite use standard-library Python:
make check
It compiles scripts, runs unit tests, validates all skill packages and UI metadata, checks version alignment and local links, scans for private absolute paths, validates behavioural cases, and validates every committed example according to its manifest status.
For release-facing integration checks, install the pinned development validators and run:
python -m pip install -r requirements-dev.txt
make integration
This adds the official Agent Skills reference validator, JSON Schema validation, and a pinned community-installer discovery smoke test. Prepare a clean behavioural eval without leaking the judge criteria into the performer request:
python scripts/eval_harness.py list
python scripts/eval_harness.py prepare single-landscape-weather --output ./tmp/eval-run
docs/architecture.md — routing, skill boundaries, and extension seamsdocs/evaluation.md — automated, artifact, and visual evaluationdocs/compatibility.md — tested hosts and capability fallbacksdocs/repository-benchmark.md — patterns reviewed and adoption decisionsdocs/maintainer-guide.md — versioning and release checklistMade something with Paper Signal? Share the image, input or prompt, host, and version in Made with Paper Signal. Once real third-party submissions arrive, selected work with explicit permission can become a credited Community Gallery.
Paper Signal is independently authored and informed by the open workflows in baoyu-xhs-images and GC Minimal Zine Poster, both MIT-licensed. Their code and generated examples are not vendored. See the acknowledgements.
MIT © 2026 Paper Signal contributors. Generated-image rights and backend terms depend on the runtime and source assets used for each project.
Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.
Public repository for Agent Skills
Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop