本文へ移動
cccskills
無料GitHub で公開

jsdoc

How to write JSDoc on @rhinestone/sdk public symbols, which is autogenerated into the published SDK Reference. Use when adding or editing doc comments on entry points, the account instance, actions, or utils in sdk/src.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

SDK JSDoc

JSDoc on the SDK's public surface is the source for the published SDK Reference on the docs site — it is generated, not hand-written. What you write in the doc comment ships verbatim to integrators, so it must be both present and high quality. A missing or lazy comment becomes a missing or lazy reference page.

The mechanics of running the generator and committing the output live in docs/codegen.md — use them; don't repeat them here. This skill is about writing the comment well.

Apply when

You are adding or editing JSDoc on a hot-path public symbol: an entry point, an account-instance method, an action, or a util. For account-instance methods, see Canonical location below.

What the generator does with your JSDoc

Each reference page is a fixed template filled from your doc comment. Write for the template — every part below maps to a rendered section.

In the doc commentRenders as
First paragraph of the summarythe page description — the one-line lead, shown on its own. Must read standalone.
Remaining paragraphsthe extended explainer prose under the title
@param name desca row in the Parameters table (object-literal types expand into sub-fields)
@returns descthe Returns section
@examplethe Usage code block. Omit it and a snippet is synthesized from the signature — correct but lifeless.
@remarksa <Note> callout
experimental_ prefix on the symbolan experimental <Warning> (added automatically — don't write it by hand)
@see / {@link Symbol}a See also entry, resolved by bare symbol name to its page

Canonical location

For methods on the account instance (the object returned by createAccount), put JSDoc on the capability interface member that exposes it: RhinestoneAccountBase, ManagedTransactionAccount, ManagedEvmAccount, SolanaStandaloneAccount, or ManagedSolanaDeployment. Do not put it on the composed RhinestoneAccount alias or an inner implementation; TypeDoc does not use those locations for the reference.

Patterns

Lead with a standalone one-liner

The first sentence becomes the page description and is shown without the rest, so it must be a complete statement of what the symbol does — no trailing context required. Keep it consistent with sibling symbols (imperative verb or noun phrase).

// Good
/** Enable a smart session. */
/** Prepare a transaction for signing. */

// Avoid
/** This function is used to enable a session ... */   // filler
/** The session — see below for how it works. */       // fragment, leans on the next paragraph

Describe meaning in @param, not the type

The type already shows in the Parameters table. The description adds what the type can't: units, constraints, what a good value looks like, what happens when it's omitted.

// Good
/** @param session resolved session to enable */

// Avoid
/** @param session the session */   // restates the name, adds nothing

Author an @example when the call isn't self-evident

The synthesized snippet just lists arguments positionally. Author one whenever argument order, surrounding setup, or realistic values would help the reader. Keep it minimal and runnable-looking.

/**
 * Prepare a transaction for signing.
 *
 * Resolves token requests and routing, then returns the signable payload along
 * with the available settlement quotes. Inspect `quotes.all` before signing —
 * the chosen quote is what `signTransaction` commits to.
 *
 * @param input the transaction to prepare
 * @returns the prepared transaction, including `quotes.all`
 * @example
 * const prepared = await account.prepareTransaction({
 *   destination: { chain: base, calls: [...] },
 *   sponsored: true,
 * })
 * @see {@link signTransaction}
 */

Body prose for the "why", @remarks for a caveat

Use extended paragraphs to explain behavior an integrator must understand to use the symbol correctly — especially non-obvious constraints (e.g. why an argument must be pre-resolved, what an off-nominal input does). Reserve @remarks for a single side-note; it renders as a callout, so don't bury required information there.

Cross-reference by bare name

Link related symbols with {@link toSession} inline and @see for "you probably also want" pointers. The generator resolves the bare name to its page — only documented hot-path symbols resolve; anything else renders as plain inline code, so don't link types/errors/internal helpers expecting a link.

Non-goals

  • Don't document internal-only symbols here — JSDoc is welcome, but this skill is about the published surface.
  • Don't restate API design guidance (use the dx skill) or changelog wording (use the changesets skill).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Writes, reviews, and polishes @rhinestone/sdk changesets. Use when adding release notes, editing .changeset/*.md files, preparing SDK releases, or reviewing changelog wording.

日本語の概要は準備中です。原文の説明を表示しています。

rhinestonewtf/sdk132026年10月15日 更新

dx

無料

Design guidance for changing the @rhinestone/sdk public surface so it is safe, intuitive, and pleasant to integrate. Use when adding, renaming, or changing public exports, types, account/action APIs, config objects, error classes, or defaults in sdk/src.

日本語の概要は準備中です。原文の説明を表示しています。

rhinestonewtf/sdk132026年10月15日 更新

Promotes @rhinestone/sdk v3 from main to release and publishes it to npm @latest. Use when a main → release "Release" PR is open, a changeset has to reach @latest, or a release PR is stuck BEHIND or unapproved.

日本語の概要は準備中です。原文の説明を表示しています。

rhinestonewtf/sdk132026年10月15日 更新

rhinestonewtf のスキルをすべて見る

このスキルの問題を報告する