agentsclimarketplace

Writing craft

Skill asong56/skills/07-share/writing-craft

Long-form writing process: edit and restructure existing articles (clarity, flow, prose tightening) AND full three-stage writing workflow (mine fragments → shape into draft → assemble as narrative beats). Use for technical posts, tutorials, and es...From its SKILL.md

Install
npx -y skills add asong56/skills --skill writing-craft

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

10.3 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Writing Craft

  1. First, divide the article into sections based on its headings. Think about the main points you want to make during those sections.

Consider that information is a directed acyclic graph, and that pieces of information can depend on other pieces of information. Make sure that the order of the sections and their contents respects these dependencies.

Confirm the sections with the user.

  1. For each section:

2a. Rewrite the section to improve clarity, coherence, and flow. Use maximum 240 characters per paragraph.


Merged from: writing-workflow

<what-to-do>

Run a grilling session that produces fragments. Interview the user relentlessly about whatever they want to write about. Do not impose phases, outlines, or structure — that is explicitly out of scope.

As fragments emerge from either side of the conversation, append them to a single markdown file. The user will be editing this file during the session; always re-read it before writing so their edits are preserved.

If the user did not pass a path, ask once where to save the document, then remember it for the rest of the session.

Capture fragments from the very first thing the user says, including the initial prompt.

On first write, put a single H1 at the top with a working title (it can change later) and nothing else — no metadata, no TOC, no date.

</what-to-do> <supporting-info>

What is a fragment

A fragment is any piece of text that might survive into the final article. It must be readable by the author — the author can tell what it means — but it does not need to define its terms or be comprehensible to a cold reader. The bar is "is this a piece of good writing?", not "is this a self-contained argument?"

Fragments are deliberately heterogeneous. Examples of what could be a fragment:

  • A sharp sentence you'd want to deploy somewhere but don't yet know where.
  • A claim with a one-line justification.
  • A vignette: a thing that happened, a code snippet, a scenario, an analogy.
  • A half-thought: "something about how X feels like Y, work this out later."
  • A quote, a piece of dialogue, an overheard line.
  • A list of related observations that hang together by feel.
  • A complaint, a confession, a punchline.

The novelist's diary is the model: years of unstructured noticings that later get mined for raw material. Fragments are noticings.

File format

# Working title

A first fragment lives here.

It can be multiple paragraphs. It can include lists, code, quotes — whatever
shape the fragment naturally takes.

---

A second fragment.

---

> A quoted line that the user wants to keep around.

A reaction to it.

---

- A cluster of related observations
- That hang together by feel
- And want to be near each other

Fragments are separated by a horizontal rule (\n---\n). No headings inside the body. No tags. No order beyond the order they were added.

Writing rhythm

Append silently. Don't ask permission for each fragment. Mention what you added in passing ("adding that"), but don't interrupt the conversation with save dialogs.

Before every write: re-read the file from disk. The user may have edited, reordered, or deleted fragments between turns — preserve their changes. Never overwrite the file; only append (or, if the user asks, edit a specific fragment in place).

The user can say "cut the last one", "rewrite that one sharper", "merge those two" at any time. Treat those as first-class instructions.

</supporting-info>

Stage 2: Shape — Turn Fragments into an Article

<what-to-do>

The user has passed (or will pass) a markdown file of raw material. Treat it as the input pile — anything from a tidy list of fragments to a wall of unstructured prose to a transcript. The format does not matter. Read it end-to-end before doing anything else.

Then run a shaping session that produces a separate article document. Do not edit the raw material file — it is read-only to this skill.

If the user did not say where to save the article, ask once and remember the path. The user will be editing the article file during the session; always re-read it before writing so their edits are preserved.

</what-to-do> <supporting-info>

The loop

  1. Read the pile. Read the input file in full. Form a sense of what's in it.
  2. Draft 2–3 candidate openings. Each opening should imply a different thesis or angle for the article. Show all of them. Force the user to pick or compose a hybrid. The chosen opening defines what the rest of the article must do.
  3. Grow paragraph by paragraph. After the opening lands, ask "given this opening, what does the reader need to hear next?" Pull material from the pile to answer. Argue about whether the next beat is a paragraph, a list, a table, a callout, a quote, a code block. Each format choice should be deliberate and defensible.
  4. Append to the article file as you go. Don't batch. Write each agreed paragraph or block immediately so the user can see the article taking shape.
  5. Loop step 3 until the article is done. The user decides when it's done.

Conversational feel

This is a grilling session inverted. In ideation, the question was "what are you actually noticing?" Here it's "what is this article actually arguing, and in what order does the reader need to hear it?" Push back. Refuse to let weak transitions slide. If a paragraph doesn't earn its place, cut it.

Specific moves to keep using:

  • "What does this paragraph do for the reader that the previous one didn't?"
  • "If I cut this, what breaks?"
  • "Is this prose, or should it be a list? Why prose?"
  • "This sentence is doing two jobs — split it or pick one."
  • "The opening promised X. We've drifted to Y. Either re-thread it or change the opening."

Pulling from the pile

Treat the raw material as a quarry, not a script. Pull a fragment, rework it to fit the surrounding paragraph, and place it. A fragment may be split across multiple paragraphs, merged with another, or paraphrased. The pile's job is to be mined; the article's job is to read as one voice.

If the pile lacks something the article needs, name the gap explicitly: "We need an example here and the pile doesn't have one — give me one now or we cut this section."

Format arguments to actually have

When choosing how to render a beat, weigh these tradeoffs out loud with the user, not silently:

  • Prose vs. list. Prose carries argument; lists carry parallel items. If items aren't truly parallel, prose is better. If they are, a list is faster to scan.
  • Inline vs. callout. Tips, warnings, and asides go in callouts (> [!TIP], > [!NOTE]) — but only if they'd genuinely derail the main argument inline. Otherwise leave them inline.
  • Table vs. repeated structure. If the same shape repeats 3+ times with the same fields, a table. Otherwise prose with bold leads.
  • Quote vs. paraphrase. Quote when the original wording is the point. Paraphrase when only the idea matters.
  • Code block vs. inline code. Multi-line, runnable, or illustrative → block. Single token or identifier → inline.

Writing rhythm

Append to the article file as each block is agreed. Re-read the file from disk before every write — the user may have edited between turns. Never overwrite blindly. If the user wants a paragraph rewritten, edit that specific paragraph in place; leave the rest alone.

Out of scope

  • Mining for new fragments that aren't in the pile (the pile is the input — if it's incomplete, name the gap and either get the user to fill it or cut the section).
  • Editing the raw material file.
  • Publishing, formatting for a specific platform, or adding frontmatter the user didn't ask for.
</supporting-info>

Stage 3: Beats — Assemble as Narrative Journey

<what-to-do>

The user has passed (or will pass) a markdown file of raw material.

If the user did not say where to save the article, ask once and remember the path.

Then run a beat-by-beat journey:

  1. Write 2–3 candidate starting beats, drawn from the raw material. Each is a different entry point into the article. Show the user the beats before writing it to the article file. The user picks one. Preview what beats that might lead to once written - as if the user is seeing a little way down the path.
  2. Once the user picks a starting beat, write only that beat to the article file. A beat may be one sentence or several paragraphs — whatever that beat naturally is. Stop there.
  3. Re-read the article file from disk. Then offer 2–3 candidate next beats — different directions the journey could pivot to from where the article now stands.
  4. Loop steps 2–4 until the article reaches a natural end.
</what-to-do> <supporting-info>

What is a beat

A beat is one move in the journey. It does one thing — sets a scene, lands a point, asks a question, drops an aside, twists the angle. Then it stops, leaving the reader at a place where the next beat can pivot.

A beat is sized by what it needs:

  • A single sentence if that's all the move is ("And then nothing happened for three weeks.").
  • A short paragraph if the move needs setup.
  • Multiple paragraphs if the beat is a self-contained vignette, argument, or example.

If a "beat" needs five paragraphs and three subheadings, it's not a beat — it's two beats glued together. Split it.

Writing one beat

Once a beat is picked, write that beat only to the article file. Do not write the next beat.

Pull material from the raw pile to populate the beat. You can paraphrase, split, recombine, or quote. The pile is a quarry.

Ending the journey

The article ends when the journey is complete — not when the pile is empty. Most piles will have leftover fragments that don't make it in. That is fine; that is the point of having more raw material than you need.

Writing rhythm

  • Append one beat at a time. Never write ahead.
  • Re-read the article file from disk before every write. Preserve user edits absolutely.
  • If the user edits a previous beat substantially, let it change what comes next.
  • If the user says "rewrite that beat" or "go back and try a different beat 3", do it — edit in place, leave the rest alone.
</supporting-info>

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,546. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.