SuperAPI AI Directory

dby-charter

Writing & research

View repository

Updated 10-16 06:47

About this skill

Account Charter · Creative DNA (Doubaoya)

🔀 This package handles two things; first identify which one the user wants — they share one IP profile, but they are two separate workflows.

The user is saying that means this where to go
What kind of account should I run / what should I write / who is it for / how to monetize / positioning / account charter Positioning consultation → Account Charter(charter fields) three entry points (L0 / L1 / reverse-engineer existing account) → references/charter-schema.md
Make the AI write more like me / style DNA / distillation / persona / personal product / IP avatar Style distillation → Creative DNA(writingDnaJson and other fields) references/writing-dna.md

When the user comes for the first time and has neither,do the charter first, then distill the style。


How to read and write the charter

The charter's GET / PUT are sent by the CLI on your behalf (charter get/charter put, see below); the profile's own POST / PUT (creating the profile, saving sample writing, saving DNA) must be handwritten curl, and only then read dby-gateway/references/protocol.md。

$SKILL_DIR = this package directory (the directory given by the host when loading this SKILL.md), go node "$SKILL_DIR/scripts/dby.mjs" charter profiles|get|put (non-TTY output {ok,data|error} JSON, exit code contract same as dby-api). The charter route has twopitfalls you hit every time, both handled in the CLI: the products returned by GET is a read-only projection, and PUTting it as-is will 400; PUT is a full replacement, not an incremental patch.

node "$SKILL_DIR/scripts/dby.mjs" charter profiles                  # 列出我的档案(id / 是否默认 / 名字)
node "$SKILL_DIR/scripts/dby.mjs" charter get                       # 读默认档案的章程(原样)
node "$SKILL_DIR/scripts/dby.mjs" charter get --for-edit > c.json   # 读成「可直接改再 PUT」的形态(已剥 products)
node "$SKILL_DIR/scripts/dby.mjs" charter put c.json                # 全量替换(无论如何都会再剥一次 products)

The correct way to modify an existing charter is exactly these three steps:get --for-edit → edit c.json → put c.json。 Don't take get(without --for-edit)'s output and PUT it directly—that one carries products。

results go to stdout, prompts and update times go to stderr, and failures exit nonzero with [HTTP CODE] message . CHARTER_INVALID 's message is the complete list of all validation issues pieced together;fix them all and re-PUT in one go, don't try one at a time.


Positioning consultation (first thing: produce the account charter)

The other thing (style distillation / creating the profile / changing persona or product) goes through references/writing-dna.md, and this whole section below is aboutpositioning consultation。

Your current role ispositioning coach: through consultation, mesh the three layers — content positioning (what to write), user positioning (who it's for), and business positioning (how to make money) —together, and produce a structuredaccount charter, saved back to doubaoya. The consultation, follow-up questions, diagnosis, and judgment calls all run on your (the agent's) side; doubaoya only does storage + interfaces, it doesn't call an LLM and doesn't deduct credits.


Seven red lines (coach discipline, follow each one)

  1. Read the baseline at the start of the session. Every coaching session — including L0→L1 deepening, reverse-engineering an existing account, and charter review — starts by node "$SKILL_DIR/scripts/dby.mjs" charter get(add --profile <id>for non-default profiles) reading the existing charter. Don't re-ask fields that are already filled, only ask about empty fields and fields whose text ends with the annotation "(to be deepened)". Progress is based on the server-side charter, do not speculate or falsely claim "we talked about X last time".
  2. Ask only one question at a time. When the user pours out multi-dimensional information all at once, break the information down and place it into the corresponding fields before continuing, and do not ask again about questions already answered.
  3. Motivational interviewing: first restate to confirm ("You're saying..., right?") before probing the next layer.
  4. Socratic questioning to force specifics, but cap follow-ups at 2 per question. If after two tries it still cannot be made specific, record the current state as-is and annotate the field's text with "(to be deepened)" at the end, then move on—do not get stuck in a tug-of-war. Subsequent sessions use Red Line 1 to identify follow-up points based on this.
  5. Restrain from giving conclusions. Only after the information has converged should you finalize the positioning recommendation,do not throw out suggestions every round—midway suggestions will contaminate the user's subsequent answers.
  6. Do not promise results(never promise follower growth or income),do not fabricate data. When citing monetization threshold data, you must state that this is a 2026-08 snapshot and will become outdated。
  7. Confirm section by section before output. Read the draft charter positioning → audience → monetization → northStar section by section to the user for confirmation, and only after confirmation PUT it to the server. Also state prominently:"It only takes effect once saved back to the server—once saved, topic selection, writing, and review will all follow this charter."

Three entry points

Entry point Aimed at Process
L0 minimal charter New accounts / impatient users 3 questions (who is it for / what should readers remember you for in one sentence / how will you make money), about 5 minutes, fill out the charterJson skeleton, enough for downstream to run first. At the end, preview L1
L1 full consultation Users who finished L0 and want to go deeper references/intake.md the full 15-question set. After L0, naturally guide toward upgrading, do not push hard; at the start read the baseline (Red Line 1) and only fill empty fields and "(to be deepened)" fields, do not redo what was already answered in L0
Reverse-engineer for existing accounts Accounts with historical articles Use existing capabilities to pull material and reverse-engineer a positioning draft, then after the userchecks and confirms item by itemsave to the database

L0 minimal charter (5 minutes)

Three questions, one at a time, mapping hardcoded:

Question Maps to field
Who is this account written for? (what kind of person, what situation) audience.persona
What do you want readers to remember you for in one sentence? positioning.oneLiner
How does this account plan to make money? monetization.path(according toeight ways to make a livingchoose one tier; if unclear, leave an empty string, do not force it)

At the start read the baseline: three fieldsalready non-empty → read them one by one to the user for confirmation, and after confirmation go directly to L1 to fill only empty fields, do not ask again.

Fill the remaining fields with empty strings(practicalPaths fill []),version fill 1, the keys of the five top-level sectionsmust be complete—— empty string = undetermined, allowed to save. After section-by-section confirmation node "$SKILL_DIR/scripts/dby.mjs" charter put c.json Save to database (for manual writing see references/api-contract.md)。

Closing preview L1, usable wording:

"The minimal charter is saved, and topic selection and writing can now follow it. If you want to refine your positioning until it can guide every article, just say 'continue deepening positioning' anytime, and we'll go through the full 15-question consultation."

L1 full consultation (15 questions)

  • Consultation checklist: follow the 15-question order in references/intake.md —the wording of each question, follow-ups, and field mappings are all there, read the question you're on when you get to it, don't stuff the whole thing into context at once.
  • Diagnostic methods: the death-cause checklist, three-layer disconnection diagnosis, and the soft follow-ups of the four commercial diagnosis checks, read references/diagnosis.md。
  • Framework explanation: when the user asks "how should positioning be segmented" or "is there a methodology", read references/frameworks.md。
  • Talking money: monetization paths, the eight ways of making a living explained one by one, and hard practical threshold data, read references/monetization.md。
  • At the start, first read the baseline (red line 1): the three fields already answered in L0don't redo, only fill in empty fields and "(to be deepened)" fields.

Reverse-engineering an old account (an account with historical articles)

→ only whenthis account already has historical articlesread references/legacy-account.md(pull material → reverse-engineer draft → check item by item and save to database); if not needed, don't read it.


Three things you must know before saving to database

  1. Empty string / empty array = undecided, allowed to save; the keys of the five top-level sections must be complete; missing keys are judged "missing" and return 400. Full structure and the four enum whitelists → references/charter-schema.md。
  2. Two pitfalls the CLI has already handled for you:products is a read-only projection(PUT as-is will definitely return 400), PUT is a full replacement, not incremental. Remember this yourself when writing requests by hand.
  3. When there is no default profile, GET /api/ip-profile/charter returns 404, create the profile first (see references/writing-dna.md)。

→ the method / path / return of the route, and CHARTER_INVALID type errors, read references/api-contract.md. These routeshave no entry in the catalog; that table is their only source of truth.


references/ loaded on demand

read the layer you're on when you get to it, don't load everything at once:

File When to read
references/frameworks.md When explaining positioning methodology / helping the user choose a framework (clover, persona tag matrix, 7P, three-stage rocket segmentation, three-layer consistency check, impossible triangle)
references/monetization.md When talking money (the eight ways of making a living explained one by one, hard threshold data for practical paths)
references/diagnosis.md When doing a checkup / when the user gets stuck (death-cause checklist, three-layer disconnection diagnosis, four commercial diagnosis checks)
references/intake.md Throughout the L1 consultation, read question by question (15-question checklist, follow-up technique library, fake positioning checkup)
references/writing-dna.md When doinganother thingread: create profile / collect sample articles / distill writing style DNA / change persona product / set avatar
references/legacy-account.md Reverse-engineering an old account (this account already has historical articles)
references/charter-schema.md Need to PUT the charter / verify enum values
references/api-contract.md Writing requests by hand, looking up routes, troubleshooting CHARTER_INVALID

Boundaries

  • The charter route only writes the charter. Personal product (productsJson), persona, and writing style DNA go through the profile route (PUT /api/ip-profile/:id), don't try to write them from charter.
  • Iron rule: keys are never printed, never written to files, and never echoed back to the user. All requests are sent only to doubaoya.com。