Claude Cursor Skill

writing-skills

Imported from alexei-led/cc-thingz/src/skills/writing-skills.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download alexei-led-cc-thingz-src_skills_writing-skills-ce56bb4.zip · 4 KB
Part of alexei-led/cc-thingz — 91 skills

Install

skills CLI npx skills add https://github.com/alexei-led/cc-thingz/tree/master/src/skills/writing-skills
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install alexei-led-cc-thingz@llmmart
Git git clone https://github.com/alexei-led/cc-thingz.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole alexei-led/cc-thingz collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Writing Skills

Create or reshape a skill so it loads at the right time, gives the model the result and the finish line, and ships intact to every target. The same rules apply to agent bodies and other AI-facing instruction files; the reviewing-instructions skill scores against them.

Done when the skill meets the shape and writing rules below, the rendered Claude skill still holds the base body and its reference links, and the relevant build/test/lint checks pass on what you changed, or you name each check that did not run and why.

Without write access, return proposed changes (file, change, reason) instead of applying them.

References

  • references/skill-principles.md — read when choosing invocation mode, splitting or merging skills, or pruning a long skill.
  • references/repo-conventions.md — read before touching package JSON, overlays, target-only tokens, generated output, or evals in this repo.

Shape

These follow the agentskills.io specification:

  • name: lowercase kebab-case, at most 64 characters, matching the directory.
  • description: at most 1024 characters, saying what the skill does, when to use it, and what it is NOT for, naming the neighbor skill to use instead. One trigger per branch; no synonym piles.
  • SKILL.md body at most 500 lines (about 5k tokens); most skills need far less.
  • Conditional detail lives in references/, linked directly from SKILL.md with when to read it. No reference chains.
  • Deterministic operations live in scripts/, not in prose.
  • The skill is self-contained: name another skill when handing off, but do not link into its files.

Writing rules

  • State the result, the constraints, and what done means. Number steps only where order is a real constraint: safety gates, deterministic tooling, apply flows.
  • Cut what the model already knows: language idioms, textbook debugging, what a commit or test is, "read the code first".
  • Keep what is local, non-obvious, opinionated, version-gated, or costly to rediscover.
  • Hard constraints are short and explicit and may be negative: secrets, destructive commands, prod apply, release publishing, external actions. Write preferences as positive statements.
  • Use plain statements. Skip ALL-CAPS emphasis, "MANDATORY", and "think step by step / carefully"; reasoning effort is a runtime setting.
  • State each rule once. The body does not restate the description's NOT-for list. Required checks appear once; after they pass, repeat them only after a change or failure.
  • Name no specific model versions. Put a tier alias (inherit, sonnet, haiku) in a sidecar only where the harness needs a value.
  • Headers, lists, and code blocks carry structure. Use a table when it is the clearest form.
  • Specify an output shape only when another tool or agent parses it.
  • A skill that changes code ends with the done line below instead of long verification or final-response sections. A skill that may run in a read-only role carries the read-only line.
Done when the relevant build/test/lint checks pass on what you changed, or you name each check that did not run and why.
Without write access, return proposed changes (file, change, reason) instead of applying them.

Overlays

Keep the base SKILL.md vendor-neutral. For target-only content, end the base with a short neutral heading such as ## Platform additions and one generic sentence, then patch that heading from .agentbundler/targets/<target>.json with bodyPatch.mode: "sections". Use mode: "replace" only for a deliberate full fork: it discards the whole base body, including its reference links. references/repo-conventions.md has the patch mechanics.

Output

## Skill Change

- `path` — created | changed | proposed: <what and why>

Routing: model-invoked | user-invoked; triggers <terms>; NOT for <neighbors or none>
Checks: <check>: passed | failed | not run (<reason>)
Follow-up: <scoring run, docs update, or none>
Files (cc-thingz)
  • references
    • repo-conventions.md 3.1 KB
      # Repo Conventions
      
      Local rules for authoring skills in this repository.
      
      ## Source of truth
      
      Edit sources under `src/`; `dist/` is generated by `make build` and committed.
      
      - `src/skills/<name>/SKILL.md` — base skill body and shared frontmatter
      - `src/skills/<name>/references/`, `scripts/`, `assets/` — support files copied
        with the skill
      - `src/skills/<name>/.agentbundler/targets/<target>.json` — target sidecar
      - `src/.agentbundler/packages/<package>.json` — package ownership and shipping
        surface
      
      Agent Bundler loads the base `SKILL.md`, applies the target sidecar, adds the
      target-wide composition preamble from `agentbundle.json`, then copies support
      files. `targets:` in base frontmatter restricts which targets a source ships to
      and does not leak into emitted frontmatter. All enabled targets ship under
      package-owned paths. Gemini is retired.
      
      ## Target-only content
      
      `make validate` rejects these tokens in a base `SKILL.md` or agent file:
      `$ARGUMENTS` and `$1`-style arguments, `Task(`, `AskUserQuestion`,
      `TaskCreate`, `TodoWrite`, `mcp__*` tool IDs, `` !`cmd` `` preprocessor
      backticks, and `${CLAUDE_*}` variables. Put them in the target sidecar, along
      with target-only frontmatter such as `allowed-tools`, `context`,
      `user-invocable`, and `model`.
      
      Sidecar fields are `frontmatterPatch`, `bodyPatch`, `files`, and
      `deletedFiles`. `bodyPatch.mode` is one of:
      
      - `sections` — replaces the body of existing, unique headings. `headingPath` is
        the full heading chain from the H1, for example
        `["Instruction Review", "Platform additions"]`. The replacement runs from the
        line after the heading to the next heading at the same or higher level. Start
        the patch body with a newline and use `###` or deeper inside it. A missing or
        ambiguous path fails the build.
      - `replace` — replaces the whole body. Use it only for a deliberate full fork.
      
      Write sidecar JSON with a script (`json.dump`) rather than hand-escaping
      newlines. After `make build`, open
      `dist/claude/<package>/skills/<name>/SKILL.md` and confirm it holds the base
      body, its reference links, and the patched section.
      
      ## Adding, removing, or renaming a skill
      
      - Add or remove the skill path in `src/.agentbundler/packages/<package>.json`.
      - Update `tests/skill-evals/**`, tests, and `README.md` mentions that name it.
      - Check `AGENTS.md` when it lists the public skill surface.
      - Run `make build` so removed output disappears from `dist/`.
      
      ## Checks
      
      ```bash
      make build   # needs the sandbox disabled: the uv cache is restricted
      make check   # generated drift
      make ci      # lint + validate + check + test + test-ts
      ```
      
      `make lint-instructions` is an advisory structural pass over the repo; the
      reviewing-instructions skill makes the quality call.
      
      ## Neighbor skills
      
      Check these before creating a new skill; a small twist on one of them usually
      belongs inside it:
      
      - `reviewing-instructions` — scores instruction files
      - `documenting-code` — updates docs, including agent-facing docs
      - `evolving-config` — audits agent config and shipping surfaces
      - `brainstorming-ideas` — debates a plan before implementation
      - `looking-up-docs` — fetches external tool, API, or platform docs
      
    • skill-principles.md 2.1 KB
      # Skill Principles
      
      Read when the shape of a skill matters, not just its wording: invocation mode,
      splits and merges, and pruning.
      
      ## Invocation fit
      
      - Model-invoked: the agent or another skill must find it unprompted. Cost: the
        description stays loaded every session and competes with every other skill.
      - User-invoked: a manual expert tool, niche reference, or router. Cost: the user
        has to remember it exists.
      - A thin router that mostly delegates or restates a neighbor does not earn a
        loaded description. Fold it into the owner or make it user-invoked.
      
      ## Description
      
      The description answers what the skill does, when to use it, and when not to.
      
      - Lead with the action or noun the user will say.
      - One trigger per branch; collapse synonym piles into one strong phrase.
      - Name the neighbor skill in a NOT-for clause when misuse is likely.
      - Keep body detail, examples, and rationale out of it.
      - Match how users and nearby skills actually phrase the request.
      
      ## Information hierarchy
      
      Inline in `SKILL.md`: the result, the done line, hard constraints, and rules
      every run needs.
      
      Move to `references/`, each with a read-when condition in `SKILL.md`: branch
      detail, examples, long checklists, per-language or per-platform detail, and
      glossary or comparison material.
      
      Move to a target overlay only what the vendor-neutral base cannot say.
      
      Keep definitions, rules, and caveats that belong together in one place. A weak
      pointer hides must-read detail as badly as a missing one.
      
      ## Split, merge, or extend
      
      Split when the trigger surfaces differ enough that one description would blur
      routing, or when one body holds two separate workflows. Do not split for style,
      small wording differences, or imagined future needs.
      
      Prefer, in order: tighten the existing skill, move detail to references, add a
      small target overlay, create a new skill.
      
      ## Prune
      
      For each line ask: does it change behavior, does it belong here rather than in
      a reference, and does another line already own this meaning? Delete generic
      agent advice, repeated constraints, prose without operational effect, and stale
      references to removed tools, paths, or models.
      
  • SKILL.md 4.4 KB
    ---
    description:
      Create, split, slim, or rewrite repository skills. Use when adding a
      new `src/skills/<name>/` skill, editing a skill description, frontmatter, references,
      overlays, or plugin placement, or tightening routing between neighboring skills.
      NOT for score-only instruction review; use reviewing-instructions. NOT for broad
      agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
    name: writing-skills
    ---
    
    # Writing Skills
    
    Create or reshape a skill so it loads at the right time, gives the model the
    result and the finish line, and ships intact to every target. The same rules
    apply to agent bodies and other AI-facing instruction files; the
    reviewing-instructions skill scores against them.
    
    Done when the skill meets the shape and writing rules below, the rendered Claude
    skill still holds the base body and its reference links, and the relevant
    build/test/lint checks pass on what you changed, or you name each check that did
    not run and why.
    
    Without write access, return proposed changes (file, change, reason) instead of
    applying them.
    
    ## References
    
    - `references/skill-principles.md` — read when choosing invocation mode,
      splitting or merging skills, or pruning a long skill.
    - `references/repo-conventions.md` — read before touching package JSON,
      overlays, target-only tokens, generated output, or evals in this repo.
    
    ## Shape
    
    These follow the agentskills.io specification:
    
    - `name`: lowercase kebab-case, at most 64 characters, matching the directory.
    - `description`: at most 1024 characters, saying what the skill does, when to
      use it, and what it is NOT for, naming the neighbor skill to use instead. One
      trigger per branch; no synonym piles.
    - `SKILL.md` body at most 500 lines (about 5k tokens); most skills need far less.
    - Conditional detail lives in `references/`, linked directly from `SKILL.md`
      with when to read it. No reference chains.
    - Deterministic operations live in `scripts/`, not in prose.
    - The skill is self-contained: name another skill when handing off, but do not
      link into its files.
    
    ## Writing rules
    
    - State the result, the constraints, and what done means. Number steps only
      where order is a real constraint: safety gates, deterministic tooling, apply
      flows.
    - Cut what the model already knows: language idioms, textbook debugging, what a
      commit or test is, "read the code first".
    - Keep what is local, non-obvious, opinionated, version-gated, or costly to
      rediscover.
    - Hard constraints are short and explicit and may be negative: secrets,
      destructive commands, prod apply, release publishing, external actions. Write
      preferences as positive statements.
    - Use plain statements. Skip ALL-CAPS emphasis, "MANDATORY", and "think step by
      step / carefully"; reasoning effort is a runtime setting.
    - State each rule once. The body does not restate the description's NOT-for
      list. Required checks appear once; after they pass, repeat them only after a
      change or failure.
    - Name no specific model versions. Put a tier alias (`inherit`, `sonnet`,
      `haiku`) in a sidecar only where the harness needs a value.
    - Headers, lists, and code blocks carry structure. Use a table when it is the
      clearest form.
    - Specify an output shape only when another tool or agent parses it.
    - A skill that changes code ends with the done line below instead of long
      verification or final-response sections. A skill that may run in a read-only
      role carries the read-only line.
    
    ```text
    Done when the relevant build/test/lint checks pass on what you changed, or you name each check that did not run and why.
    Without write access, return proposed changes (file, change, reason) instead of applying them.
    ```
    
    ## Overlays
    
    Keep the base `SKILL.md` vendor-neutral. For target-only content, end the base
    with a short neutral heading such as `## Platform additions` and one generic
    sentence, then patch that heading from `.agentbundler/targets/<target>.json`
    with `bodyPatch.mode: "sections"`. Use `mode: "replace"` only for a deliberate
    full fork: it discards the whole base body, including its reference links.
    `references/repo-conventions.md` has the patch mechanics.
    
    ## Output
    
    ```markdown
    ## Skill Change
    
    - `path` — created | changed | proposed: <what and why>
    
    Routing: model-invoked | user-invoked; triggers <terms>; NOT for <neighbors or none>
    Checks: <check>: passed | failed | not run (<reason>)
    Follow-up: <scoring run, docs update, or none>
    ```
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related