본문으로 건너뛰기
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).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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월 19일 업데이트

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월 19일 업데이트

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월 19일 업데이트

rhinestonewtf의 스킬 모두 보기

이 스킬의 문제 신고