用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/WineChord/books --skill wine-chord-article命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | wine-chord-article |
| description | Plan, revise, illustrate, and maintain Wine & Chord long-form technical articles. |
| argument-hint | [article path or topic] |
Use this skill for standalone technical articles and article-like chapters in the Books repository. It keeps structure, source accuracy, image rhythm, and maintenance behavior consistent.
Treat the Prompt Cache article as the living style exemplar for Wine & Chord technical articles:
docs/public/prompt-cache/index.html.docs/public/prompt-cache/assets/*.png.https://www.wineandchord.com/books/prompt-cache/.https://github.com/WineChord/books/tree/main/docs/public/prompt-cache.When this skill is used inside the Books repository, inspect the local exemplar
first. Local uncommitted edits to the exemplar have higher priority than the
public site and GitHub main, because they represent the latest intended
article shape. If the local exemplar is absent, fall back to the public URL and
GitHub tree. Do not copy the exemplar's topic or prose into unrelated articles;
extract its editorial system: source-grounded narrative, dense inline links,
high figure cadence, warm hand-drawn diagrams, responsive article shell, and
clean public voice.
An article must be self-contained. A reader should not need any prior chat, private notes, or hidden prompt context to understand the argument.
Preferred flow:
For source-comparison articles, the default long-form arc is:
practical pressure
-> central thesis
-> 3 to 5 guiding questions
-> mental model
-> provider/platform contract
-> source execution chain
-> contrast table
-> common misreadings
-> transferable rules
-> references
For complex runtime mechanisms, each substantial section should teach through a reader-facing lifecycle, not through a pile of source facts. Prefer this local arc:
what problem appears
-> what the runtime changes
-> before/after request or persisted-record shape
-> source functions that implement the transition
-> what breaks without this mechanism
-> cache/context consequence
For multi-mechanism sections, do not leave the reader with only a taxonomy. Convert mechanism lists into pressure-and-invariant tables when useful:
pressure source
-> why the simpler approach fails
-> chosen mechanism
-> invariant protected
-> failure boundary
Do not stop at what and how. Each major mechanism should naturally reveal
the why behind the design: the invariant being protected, the simpler design
that would fail, the cost of the chosen approach, and the boundary where the
claim stops. Integrate this reasoning into the prose; never announce process
phrases such as "using critical thinking" or explain the editorial intent.
For source-heavy runtime articles, keep a small invariant ledger in the writer's head and let it shape the text:
Every substantial API/provider article should also include failure conditions or counterexamples where useful. Cover the ways the recommended design can break: minimum thresholds, unstable schemas, dynamic data in a cached prefix, version drift, TTL or routing behavior, overly broad or overly narrow cache keys, premature summarization, or recovery boundaries that cannot be replayed. Do not isolate all failure conditions in a final caveats section. Also embed the relevant failure mode at the mechanism where it is created, then use the final caveats section to connect the cases.
For long source articles, prefer ending with a transferable decision table or rule set. It should map content state to runtime handling and the invariant protected, so readers can apply the article beyond the named products.
When a reader question is narrow or out of order, do not mirror the question as
a random new section. Extract the durable confusion behind it and place the
answer where the article's natural argument needs it. If the answer is useful
but too detailed for the main flow, use an HTML details block with a precise
summary. Good candidates for details: feature gates, version drift,
visible-source limits, edge-case recovery, provider caveats, or "how this
differs from a nearby concept" notes.
Protocol-shaped examples are mandatory when prose alone leaves too much ambiguity. For API/runtime articles, include small before/after request or record examples at mechanism boundaries:
M1 M2 M3 F1) or compact
JSON fragments before adding a new diagram. Add a figure only when the
ownership boundary, lifecycle, or recovery path remains hard to see.Keep source and publication targets synchronized during every revision. When a standalone Markdown source and generated public HTML both exist, render the public page from the source before evaluating the final reader experience.
The prose should read like a finished technical essay, not like an edited chat transcript. It must not reveal the user's requests, editing plan, model instructions, review process, local machine details, or any private rationale. Remove phrases that imply the page was created by prompting an assistant. The reader should only see the subject, evidence, argument, figures, and links.
For multi-page technical books or batch article passes, add a compact reading contract before changing deep prose:
Never expose process instructions, private prompts, TODO comments, or hidden editing rationale in public prose.
Use the exemplar as a practical bar for new or revised articles:
MUST: Any illustrated Wine & Chord article must use
.codex/skills/wine-chord-image2-handdrawn/SKILL.md for every public figure.
The published page must reference final raster images generated through that
image2 workflow, usually PNG, using the PicGo remote URLs produced by that
workflow.
MUST: Every article change requires a visual impact pass by default, even when the user asks only for prose, links, source details, section structure, or a small factual correction. Check whether the change creates a new mechanism, changes a lifecycle, shifts a boundary, alters a before/after shape, introduces a new comparison, or makes an existing figure inaccurate. If so, add, replace, or regenerate the relevant image through the image2 hand-drawn workflow. If not, keep the existing figures and note that no image change was needed during handoff.
MUST: Any newly generated or regenerated article image must be uploaded with the
local PicGo CLI after final post-processing, and the article must use the URL
returned by PicGo in Markdown, HTML, MDX, Astro image data, and social metadata.
Keep the local PNG in the repo as source/backing material when useful, but do not
publish new generated figures by repository-relative assets/*.png paths. If
PicGo upload fails, stop and report the blocker instead of silently falling back
to local paths. Existing legacy local-image references may remain until the
figure is touched or regenerated.
Exception: static docs/public/<slug>/index.html articles may reference
already-tracked final raster assets from their own docs/public/<slug>/assets/
directory when that same-site path is the intended production delivery path.
Use a page-relative or site-root URL that works under the repository's deployed
base path, keep social metadata absolute, and validate the rendered page through
the project preview server. This exception does not apply to newly generated or
regenerated figures whose PicGo upload step has failed.
MUST NOT: Do not publish hand-authored HTML, inline SVG, Mermaid, canvas, CSS shape compositions, DOM diagrams, or other code-drawn substitutes as article figures. They may be used only as private planning scaffolds or temporary implementation aids, and must be replaced by image2-generated final raster assets before publication.
If exact labels, arrows, or source-code identifiers must be corrected after generation, do it only as part of the image2 hand-drawn workflow's deterministic post-processing step, and still export a single final raster image. Do not let post-processing become an excuse to rebuild the figure as HTML or SVG.
Use a visible hierarchy rather than one long flat sequence.
h1: article title, no number.h2: major parts. For Chinese articles, prefer Chinese numerals such as
一、, 二、, 三、 when the article reads like an essay or source
walkthrough. Use plain numeric 1., 2., 3. only when it better matches
an existing book series.h3: argument stages inside each major part. Use local numbering such as
2.1, 2.2, 2.3 when it helps the sidebar reveal the chapter map.h4: local mechanism steps, source-code subpaths, examples, boundary cases,
or "why this matters" checkpoints. Add h4 when a section has multiple
distinct operations; do not force every paragraph into a heading.Avoid global section numbering such as 13, 14, 15 after a new major part.
If a section title contains code, keep the code term but make the surrounding
phrase plain and readable.
Use the hierarchy to reveal the argument:
h2 answers "which large question are we solving?"h3 answers "which mechanism or comparison are we in?"h4 answers "which step inside this mechanism is being inspected?"For long source-heavy articles, the table of contents should support at least
h2 through h4, preferably as a nested tree rather than a flat list. The TOC
should make the article's logic visible without requiring the reader to scroll
through the body.
Default image/text ratio for source-heavy technical articles:
700 to 1100 Chinese
characters for dense source analysis. Do not let a long mechanism section run
past roughly 1300 Chinese characters without a figure unless the section is
intentionally code/table-heavy and visually self-explanatory.7 to 12 figures. Fewer is acceptable only when the article is
short or already has interactive visuals that do the same teaching work.All new article images must follow the
.codex/skills/wine-chord-image2-handdrawn/SKILL.md skill.
Before rewriting a page, make a figure plan:
src, and og:image when the cover changes.For incremental edits, run the same check at smaller scope:
When explaining source code:
Classify every source-level claim before making it sound certain:
official docs: provider, product, API, or standards documentation states
the behavior.verified source: the linked public source file, type, function, test, or
constant directly shows the behavior.surrounding contract inference: visible call sites and data shapes imply a
boundary, but the exact implementation is not public.not visible: the claim would depend on service internals, private state, or
unpublished code.Write only official docs and verified source claims as direct facts. Mark
surrounding contract inference as an inference in prose, and keep diagrams
abstract. Do not publish not visible claims as implementation facts.
When an article ranks or compares security, runtime, sandbox, infrastructure, or tooling projects, separate adoption/popularity signals from capability and isolation claims. Record the snapshot date and metric source for mutable signals such as GitHub stars or download counts; label them as adoption proxies, not as security rankings. Rank capability on explicit criteria such as threat model fit, isolation boundary, lifecycle features, observability, platform surface, and operational cost. Mark vendor/project benchmark numbers and startup-latency claims as project-stated metrics unless independently verified.
When a mechanism is behind a feature gate, conditional import, build flag, or dead-code-elimination boundary, verify whether the target module files are present in the analyzed snapshot before describing internals. If only call sites, persisted records, or replay hooks are visible, explain the execution contract and explicitly avoid inventing selector heuristics, scoring policies, tool prompts, thresholds, or private module behavior. Shape-level examples may show what the visible contract does, but must not read as the missing implementation's actual strategy. When the missing implementation is a compaction, projection, staging, or summary mechanism, still reconstruct the visible lifecycle from the surrounding contracts: trigger owner, candidate record shape, summary producer boundary, staged-vs-committed state, projection point, persistence record, resume replay, and overflow recovery. Clearly mark selector algorithms, scoring signs, thresholds, and prompt wording as unavailable unless the source directly shows them.
When an article discusses hidden or provider-constructed prompts, split the claim into product prompts, public API request surface, provider-generated scaffolding derived from request fields, model-internal behavior, and safety or policy enforcement. Do not infer a cache-visible hidden system prompt from a product UI prompt, a model self-identification answer, or general safety behavior. Treat official docs about product prompts, API parameters, tool scaffolds, token accounting, and prompt caching as separate evidence layers.
It is acceptable to add bounded engineering inference when it helps readers connect the visible contracts into a plausible lifecycle. Keep that inference constraint-driven: state which visible owner, recovery, cache, or request-shape constraints force the likely design, and describe what the mechanism probably must protect. Do not fabricate exact prompts, schemas, scoring formulas, magic numbers, private filenames, or vendor intent.
Define internal view terms at first use. Terms such as API-bound,
model-visible view, projection, cache edit, and provider cache view
should name their owner and lifetime: UI, durable transcript, request payload,
provider-side cache, or replay/recovery state. For cache editing, distinguish an
expected cache-read reduction from a prefix break. The reader should understand
whether a mechanism removes tokens from the model view, preserves local history,
avoids client-side prefix mutation, or merely changes observability counters.
When explaining cache edit, compare it against both direct replacement and
direct deletion of the same block. Call out whether the benefit applies to the
current transition from a warm old prefix, or only to future turns after a new
shorter prefix has been written.
When a cache/projection mechanism uses overloaded terms such as prefix,
separate at least three layers before drawing conclusions: request or identity
prefix used for cache lookup, provider-side cached object or processed state,
and the effective model-visible view after edits or projections. If a field
such as cache_reference, a beta header, or a cache-control marker participates
in lookup identity, explain whether it was already part of the stable request
discipline or newly introduced in the transition being analyzed. Do not imply
that cache edits preserve every counter or every token span; they may preserve
the reusable identity path while intentionally deleting tokens from the cached
or model-visible view.
For shape-level cache-edit examples, do not imply an exact cache_edits block
index unless the source helper or provider contract directly proves that
position. If placement is helper-dependent, link the helper and explain the
placement rule separately from the conceptual request shape.
When using KV-cache or prefix-cache mental models, separate operational
shorthand from mathematical equivalence. Do not claim that a provider-side edit
is token-for-token equivalent to a fresh prefill of the shortened prompt unless
official docs or source prove how suffix states are recomputed, rearranged, or
masked. It is safer to state the visible contract, counters, and source-level
handling, then mark deeper inference as provider-internal.
For prompt-cache lookback explanations, distinguish distance to the prior cache
write from distance to the edited or deleted block. Lookback starts at the
current breakpoint and searches for earlier written cache entries; it does not
search outward from the historical block being edited.
When explaining skip-cache-write or fire-and-forget forks, split the request
into shared prefix S and fork-only suffix F. Make clear that the fork still
reads S from cache and still sends F as uncached input, but avoids writing a
new cache tail that future mainline turns will not resume from.
Also explain what concretely is in the source: a task
instruction, summary request, side-question wrapper, suggestion prompt, or
other real message that enters the model for this fork. Do not leave it as an
abstract "tail" if the reader needs to know why it exists. State whether that
tail belongs to the parent conversation, the fork transcript, or no transcript
at all, and why the mainline will or will not ever resume from .
When a mechanism asks a model to generate a compaction summary, explain the
summary prompt contract at shape level: who triggers it, what messages are sent,
whether tools or thinking are allowed, what output wrapper is expected, which
parts are stripped, and which summary record is installed afterward. Distinguish
the generated summary text from runtime markers such as compact boundaries,
provider payload filters, restored attachments, and post-compact cleanup hooks.
Do not let readers infer that "summary exists" automatically explains selection,
prompting, installation, and resume behavior.
For articles that mix provider APIs and source code, include a quiet evidence boundary near the opening or before deep source interpretation. It should tell readers which claims come from official contracts, pinned source snapshots, and bounded engineering inference, without sounding like process notes. When source links point to a public mirror or reconstructed source snapshot, say so in the evidence boundary. Do not let mirror-backed links read like official vendor source authority. Keep mirror repository owners in URLs rather than visible prose unless the owner itself is part of the technical argument.
Treat terminology and links as part of the article's argument, not as decoration. The linked target must be at the same abstraction level as the linked words.
runtime, provider contract, owner, projection, or
ledger. Use the English term directly when it is clearer and already
carries the engineering meaning.代码智能体 unless the article truly needs the gloss.Source-heavy articles should be navigable from the prose itself, not only from a reference list at the end.
main, master,
or another moving branch. Use the commit that matches the local source snapshot
used for the analysis.file://, /Users/,
local repository paths, temporary paths, private prompts, or internal process
language before publishing.main links are acceptable only when
the article intentionally tracks live source and the link target is checked
during the current edit.Images must be useful for readers who see them and readers who rely on text:
img needs informative alt text that names the concept, not
generic text such as "diagram" or "image".figcaption when
the immediately adjacent prose explains the figure and the alt text is
specific.pageUrl() appends .html; images
should use assetUrl(base, ".../assets/name.png") or an equivalent base
normalizer. Never concatenate ${base}foo/... unless the base is known to
include a trailing slash.Use tables for compact comparison only when the rows are easy to scan. For wide comparison tables in standalone HTML articles:
data-label.data-label from the table headers in page script rather than
duplicating labels by hand in prose.For any article change:
docs/public.og:image if the cover changes.Before committing public article changes, run the smallest relevant validation that covers the edit:
/Users/, file://, local temp paths, TODOs,
hidden process language, prompt text, or private rationale.data-label behavior, and mobile body
scrollWidth.dist/ for layout or asset validation when
CSS, JS, images, or routes depend on a base path such as /books.When future revisions reveal a durable writing or maintenance rule, update this skill in the same change. The rule must be reusable, verified, and phrased as a general article practice. Do not record private conversations or transient editing instructions.
S + FFpromptMessagesS + F