Agent skill

Roam Product Writing

by Cranot in Cranot/roam-code

Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata.

Apache-2.0Auto-check passedDevelopment

Install Roam Product Writing

skills CLI
$ npx skills add Cranot/roam-code --skill roam-product-writing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Cranot/roam-code roam-product-writing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Cranot/roam-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/roam-product-writing .claude/skills/roam-product-writing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
roam-product-writing
GitHub stars
517
Token cost
~3.4k tokens
SKILL.md length
1,941 words
Files
4 (incl. references)
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata.

  • Tasks that involve Copywriting
  • SKILL.md covers Establish meaning and authority, Build a useful explanation, Keep essential boundaries… and Review and deliver within scope
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Positioning and messaging

What it does

Roam Product Writing is an agent skill from Cranot/roam-code. Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata. Make its agent-first mechanical capabilities clear, useful, and persuasive without narrowing the product or overstating evidence. Not for unrelated products or CLI output schemas.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/meaning-review.md` and `references/source-map.md`).

It sits in Development, covering Copywriting and Positioning and messaging. It works with Model Context Protocol. The repository describes itself as: Local codebase intelligence CLI + MCP server for AI coding agents: SQLite code graph, 28 languages, 287 commands, 246 MCP tools, change-safety gates, audit evidence, zero API keys. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Copywriting
  • Tasks that involve Positioning and messaging

Example prompts

  • “/roam-product-writing”

What it can do on your machine

Read from SKILL.md and the folder at commit f0bdb63. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Roam Product Writing loads about 3.4k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 1,941 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Cranot/roam-code at commit f0bdb63, republished under its Apache-2.0 licence (© Cranot). 1,941 words, ~3,370 tokens.

Download SKILL.mdSave it as .claude/skills/roam-product-writing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
roam-product-writing
description
Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata. Make its agent-first mechanical capabilities clear, useful, and persuasive without narrowing the product or overstating evidence. Not for unrelated products or CLI output schemas.

Roam product writing

Explain why Roam belongs in a coding agent's tools, not just what features it contains. An accurate sentence can still present the wrong product. Earn a strong claim with concrete work and a supported mechanism, not adjectives.

Choose by the passage's job, not its file extension. Product explanation belongs here; technical instructions for an acting agent need instruction/contract review, and a new comparative benefit claim needs qualified measurement. A mixed page can need both kinds of work without turning its explanation into an operating manual.

Establish meaning and authority

Read the source map and the sources relevant to the surface. Resolve the Roam checkout from context; a supplied frozen source packet can replace repository reads in isolated trials. Treat current copy as editing input, not its own factual proof. Cite source locations in separate working notes.

Latest explicit owner direction sets positioning; verified implementation bounds capability; adopted records govern commercial terms. Older headlines are not templates to restore. Distinguish working-tree, published, planned, and measured behavior. Name a contradiction or unavailable fact; do not silently select the convenient source. Keep private strategy and customer information out of public copy. Package descriptions and registry cards are public copy too; a bounded website claim does not repair an absolute claim in metadata.

Match evidence to the claim: implementation supports capability, the license supports licensing, owner decisions govern offers, and measurements support outcome comparisons. Missing one source is a specific gap, not grounds to reject every supported part of a sentence.

Use the orientation's The product model behind the words as the maintained meaning, not a stock tagline. Roam gives coding agents callable local analysis and mechanical checks for investigating code, evaluating implementation choices, and checking changes. Context, findings, algorithmic alternatives and scoped verification evidence are useful outputs, not competing definitions of the product. Some evidence comes from fixed experiments or replay, not just the code graph. Do not reduce Roam to code understanding, a bug finder, or a post-edit reviewer. The public atlas is an illustration for visitors, not the agent's working interface.

People choose tools and set direction; agents consume results. Generated code can outpace line-by-line attention. Roam's value is making useful repository questions mechanically answerable and repeatable, not declaring human reading obsolete or the model incapable. Do not advertise a self-improving system or perfect understanding. The agent reasons about applicability and directs work; Roam returns observations and performs supported requested operations. Candidate improvements are not implemented solutions or demonstrated speedups.

For substantive positioning work, first record a short private meaning brief: the reader and their task, what Roam supplies, what the agent does with it, why the mechanism is worth adding, and which evidence bounds the claim. This is reasoning input, not a template to paste into every surface. Reading the docs is not proof of understanding: check a mechanism beyond the opening example and ask what remains useful when no defect is found. Resolve conflicting current guidance rather than allowing the next page to inherit the same contradiction.

Build a useful explanation

Identify the reader's question and the section's job before drafting. For an opening, make the purpose recognizable and show why the supplied context/checks matter to real work. For a capability card, connect a named output to its use. For a FAQ, answer the practical objection and provide the next step.

In an opening, answer the reason to add Roam to an agent the reader already uses. A category plus a feature list is not that answer. Explain useful work and the mechanism that supplies it: query code relationships, inspect a pattern and a candidate alternative, or obtain a recorded check result. Ready-to-query analysis and executable checks let an agent consult results instead of deriving each relationship or building each check anew. This is a mechanism, not a measured saving or a claim that the existing agent cannot investigate code. Choose a hook suited to the reader; neither a fixed verb trio nor one concrete example should become the entire product identity.

Test the opening by paraphrasing only its visible words: what Roam supplies, how it obtains that result, and what the existing agent can do with it. A list of agent jobs (understand, find problems, improve, check) does not explain the added tool. If the same opening could describe the coding agent itself, name Roam's contribution instead of adding another benefit verb. This is a test of the explanation, not a requirement for a unique competitive feature or a fixed slogan. The headline sets the category or useful task; the lede must supply the reason to add Roam without relying on a diagram or lower section.

Explain labels such as "context" through a useful output and next action. Check a healthy-code case: what useful answer remains when no problem is found? Reuse means an index or checked observation can serve later questions under refresh conditions, not measured savings or automatic freshness. Put refresh instructions in the workflow unless the opening implies reuse across changed source; qualify that stronger claim immediately. Do not spend every opening on setup.

Prefer files, functions, connections, duplicate code, tests, and checks to an unexplained catalogue of technical categories. Keep necessary technical meaning. When shortening, preserve a named output and how Roam obtains it. "Engineering checks" or "candidate algorithms" alone can still hide the work: indexed callers, a detected source pattern paired with a catalogued alternative, or a replay result are more concrete when supported by the relevant source. Describe the producer accurately rather than implying model-generated proposals. For an adoption introduction, make the local, model-free nature of static checks legible; "mechanical" is not a substitute for explaining it. Keep connected-model usage separate. These are meaning checks, not required phrases in every section. Use confident verbs for supported behavior and conditional wording for uncertain inferences. Do not hedge every sentence. Stronger copy adds a specific result, use, or mechanism; it does not need a larger promise. "Local graph + judgment + evidence" may name internal concepts but does not explain a benefit to a visitor. "Deterministic facts, not guesses" confuses repeatable analysis with certainty.

Read entry copy aloud as if explaining Roam to a developer over a desk. Replace internal labels with the work they describe: a reader should not need to decode “clone evidence” to learn that similar code may need attention. Let the headline establish a recognizable category or invite a concrete task, and let the lede explain the mechanism; neither has to carry the whole product manual. Keep precise terms in technical references where the audience needs them. Use a nearby, clearly labelled example to show a useful question and returned result; a list of check categories cannot do that job. Name what a broad phrase such as “structural concerns” means in that example. Preserve the stronger baseline passage when a warmer rewrite obscures the agent's next action.

Keep the actor clear in every instruction: is a person connecting the tools, the agent consulting them, or Roam returning a result? Do not turn the agent-first story into a list of manual chores. Give adjacent sections different explanatory jobs; consistency is shared meaning, not repeating the same words everywhere. An algorithm page can focus on candidate alternatives; a README introduction needs the wider purpose; a paid offer sells its actual deliverable, not free tooling relabelled as a subscription. Lead with useful work, attach the relevant limit, and preserve agreed commercial terms. A focused page need not repeat the whole capability range to be consistent.

Show full SKILL.md (698 more words)Show less

Keep essential boundaries attached

  • Static checks use local compute without model calls. Free CLI/MCP tooling does not make the agent's model usage free or every optional feature offline.
  • Ordinary analysis does not automatically upload source or telemetry. Parser downloads, selected online features, and connected-agent providers have their own data paths. Link the network boundary where relevant.
  • An index requires refresh as code changes. Connection exposes tools; routine use requires workflow integration and is not enforced by installation alone.
  • Findings are leads, incomplete observations stay incomplete, and suggested tests are not executed tests or coverage. Give a useful next action within the observed scope; do not erase valid evidence just because it is partial.
  • Records capture configured evidence, not complete coverage, authenticated actor identity, or permission to ship. People retain intent and acceptance.
  • Preserve current offers, prices, and terms. Planned capabilities and historical scenarios are not available products. No new speed, savings, adoption, or superiority claim without evidence appropriate to that claim.

A short section need not repeat the whole list. A qualification belongs beside the claim it changes; working notes and distant FAQs cannot repair false public copy. Keep limitations usable, not a wall of warnings.

Review and deliver within scope

Read the copy without notes: does the reader get the intended product, a concrete reason to use it, and a relevant action? Check benefit-with-mechanism, actor, section progression, and factual clauses separately. Preserve good original text when rewriting adds no value. Never treat exact phrase matching as writing quality.

For an important positioning revision, unless the owner requests self-evaluation, obtain a cold reading of the draft without product docs or the author's rationale before a source-informed review. Use the meaning review for substantive positioning changes and skill trials. Ask what reason to adopt it is actually stated, not whether the words sound good. Inspect the opening in isolation as well as the full page: a correct lower section cannot silently repair the wrong category. An unexplained reason remains missing even if a knowledgeable reviewer can fill it in. Keep that diagnostic separate from human research and owner taste. When an independent reader is unavailable, save the author review and name that limit; do not relabel it cold, block unrelated useful work, or infer approval.

For test-first requests, save private drafts and follow the requested decision route: owner acceptance when reserved, or documented author evaluation when the owner explicitly delegates application. Do not turn the latter into another approval loop or call it independent validation. Evaluation against a capable docs-only baseline may produce ties or losses; retain them. A rewritten authority and a rewritten skill are different interventions: compare them separately when attributing improvements. An unresolved owner objection keeps the affected positioning unresolved even if factual checks pass. Model judgment is not human comprehension or conversion evidence. Create another skill only for a demonstrated distinct job.

If application is authorized, align the relevant page, metadata, and semantic siblings without rewriting historical quotations. Run proportionate source/site checks and keep local, verified, reviewed, and live states separate. A writing skill neither grants deployment authority nor proves marketing effectiveness. Keep the selected draft identifiable and compare it with the actual served opening after applying it. Updating a skill or saving a private draft does not correct a page that still presents rejected copy. Report the visible headline and application/publication state, not just that the writing work is complete.

For a substantial reorganization, test the reader's path as well as individual sentences; use the reading-path check in the meaning review. Shorter is not better if prerequisites, qualifications or useful destinations disappear.

For a cross-surface pass, record each page's job and whether to revise or retain it. Read each changed page in full, including captions and secondary sections; a strong hero cannot repair a contradictory lower paragraph. Keep meaning consistent without pasting one slogan everywhere. Synchronize visible FAQs and their structured data, page titles/descriptions, and agent-readable summaries. Verify cross-page promises against the destination: a working link does not prove that a named guide exists there or that a command does what its label says. Preserve executable examples, generated sections, anchors, and commercial terms; change their owners or generators when necessary, not just rendered copies.

© Cranot, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/roam-product-writing of Cranot/roam-code.

  • SKILL.md
  • agents/openai.yaml
  • references/meaning-review.md
  • references/source-map.md

Open the folder on GitHubat commit f0bdb63

Compare with similar skills

Roam Product Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Roam Product Writing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Roam Product Writing this skillCranot/roam-code517—~3.4kAutomated safety check: PassApache-2.0
Wardley Mappingtractorjuice/arc-kit2.3k—~5.1kAutomated safety check: PassCustom licence
Competitor Monitorhanzili/hanzi-browse177—~2.8kAutomated safety check: PassCustom licence
Writeohad6k/emulo2941 repos~488Automated safety check: PassMIT
Igce Builder Craiskillstore/marketplace433—~4.2kAutomated safety check: PassNone
Igce Builder Lh Tmaiskillstore/marketplace433—~4kAutomated safety check: PassNone

Similar skills

  • Wardley Mapping

    tractorjuice/arc-kit

    Wardley Mapping reference for a map, a positioning question or a strategic read: value-chain decomposition, evolution stages, OnlineWardleyMaps syntax, gameplay, doctrine and climatic patterns…

    2.3k GitHub stars~5.1k tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Competitor Monitor

    hanzili/hanzi-browse

    Monitor competitor websites for changes. An agent skill from hanzili/hanzi-browse.

    177 GitHub stars~2.8k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Write

    ohad6k/emulo

    A skill your agent uses for marketing, social, replies, product copy, launch copy, and writing in the user's voice when their Emulo writing profile should guide the task.

    294 GitHub starsUsed in 1 repo~488 tokens
    Agent WorkflowsAuto-check passed
  • Igce Builder Cr

    aiskillstore/marketplace

    Trigger for: cost-reimbursement IGCE, CR cost estimate, CPFF, CPAF, CPIF, cost-plus estimate, BAA estimate, fixed-fee analysis, award-fee analysis, incentive-fee analysis, proposed CR rate…

    433 GitHub stars~4.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Igce Builder Lh Tm

    aiskillstore/marketplace

    Trigger for: Labor-Hour IGCE, LH estimate, Time-and-Materials IGCE, T&M estimate, burdened hourly rate, burden multiplier, labor-category ceiling hours, materials estimate, proposed LH/T&M rate…

    433 GitHub stars~4k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Igce Builder Ffp

    aiskillstore/marketplace

    Trigger for: FFP IGCE, firm-fixed-price estimate, FFP cost model, proposed FFP rate validation, wrap-rate analysis, Agency BPA rate comparison, price-reasonableness memo, or fair-and-reasonable…

    433 GitHub stars~5.7k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from Cranot/roam-code

All 9 skills in this repo
  • Roam

    Cranot/roam-code

    Codebase comprehension via roam-code CLI. An agent skill from Cranot/roam-code.

    517 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Roam Agent Guidance

    Cranot/roam-code

    Review and maintain the technical instructions Roam gives coding agents: shipped skills, tool descriptions, preset guidance and generated instruction blocks.

    517 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Roam Evidence Hardening

    Cranot/roam-code

    Investigate and harden Roam detectors, CLI/MCP result contracts, and evidence consumers when dogfooding or correcting incomplete, misleading, or inconsistent analysis.

    517 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Roam Lesson Maintenance

    Cranot/roam-code

    Turn a reproduced or recurring Roam failure into a durable correction, regression control or narrowly scoped project skill, and reconcile conflicting lessons.

    517 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Roam Measurement Design

    Cranot/roam-code

    Design or interpret a comparison of Roam performance, detector accuracy, retrieval or workflow value.

    517 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Roam Milestone Planning

    Cranot/roam-code

    Define or revise a Roam product milestone and its engineering, adoption and offer-readiness sequence.

    517 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Roam Product Writing

What does Roam Product Writing do?

Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata. Roam Product Writing is an agent skill from Cranot/roam-code. Draft, review, and improve Roam positioning and product copy across its website, README, offers, setup explanations, package descriptions, and metadata.

When should I use Roam Product Writing?

Roam Product Writing fits situations like: tasks that involve Copywriting; tasks that involve Positioning and messaging.

How do I install Roam Product Writing in Claude Code?

Run `npx skills add Cranot/roam-code --skill roam-product-writing -a claude-code`. Or copy the skill folder (.agents/skills/roam-product-writing in Cranot/roam-code) into .claude/skills/roam-product-writing in your project. Claude Code loads it when a task matches its description.

How do I install Roam Product Writing in Codex?

Run `npx skills add Cranot/roam-code --skill roam-product-writing -a codex`. Or copy the skill folder (.agents/skills/roam-product-writing in Cranot/roam-code) into .agents/skills/roam-product-writing in your project. Codex loads it when a task matches its description.

Can I use Roam Product Writing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Cranot/roam-code --skill roam-product-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/roam-product-writing, .gemini/skills/roam-product-writing, .github/skills/roam-product-writing and .opencode/skills/roam-product-writing in your project.

What does Roam Product Writing need to run?

SKILL.md names no scripts, command-line tools or credentials: Roam Product Writing is instructions for the agent only.

Does Roam Product Writing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Roam Product Writing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Roam Product Writing use?

Roam Product Writing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Roam Product Writing use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Roam Product Writing?

Skills that share tags, products or a category with Roam Product Writing: Wardley Mapping (tractorjuice/arc-kit, 2.3k stars), Competitor Monitor (hanzili/hanzi-browse, 177 stars), Write (ohad6k/emulo, 294 stars) and Igce Builder Cr (aiskillstore/marketplace, 433 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Roam Product Writing?

Cranot (a GitHub user) maintains it in Cranot/roam-code, which has 517 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

Source: Cranot/roam-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.