CommunityWriting & Editinggithub.com

changmingcn/FICCWriting

Four-seat relay for Chinese FICC writing: ficc-outliner (outline, placement), ficc-structurer (relations), ficc-composer (paragraphs), ficc-writer (sentences, wording). For research articles, monthly letters, market commentary, lecture notes, case scripts, turning recordings into written text; not finance Q&A, data lookups or calculations.

What is FICCWriting?

This skill implements a multi-agent relay system for professional Chinese FICC (Fixed Income, Currencies, and Commodities) writing. It is designed for producing high-quality research articles, monthly letters, market commentaries, lecture notes, and case scripts, as well as converting recordings into written text. The skill explicitly excludes general financial Q&A, data lookups, or calculations. The relay involves four specialized seats: the outliner (builds and places outlines), the structurer (defines relations between sections), the composer (writes paragraph drafts), and the writer (polishes sentences and wording). A seventh step (deliver) handles final output to Google Docs. The system includes rigorous acceptance checks, a defect return table, and consolidated feedback to ensure quality. It supports multiple modes (short pieces, wording-only edits) and follows a set of clear, cached rulings for consistent operation.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/changmingcn/FICCWriting/tree/HEAD/skills/ficc-voice

Installed? Explore more Writing & Editing skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

ficc-voice

1 When to use

T0 reads only this file and the outline; agents read the packet, then rules per card mode. Before drafting: one outline per piece, <document-name>-outline.md beside the draft, path in the packet.

2 Relay table

StepSeatReadsInputOutputFails →
① Build or summarize outline (Hand handoff outline replaces it: ficc-hand/references/handoff.md 3)outliner buildFICCOutline.md 1–4 and 8goal, material or original draftoutline (name table, order, unfolding, 〔heading〕 lines)outliner
② Placeoutliner placeFICCOutline.md 4.2 and 5–6outline, new material or changeplacement record (references/placement-record-template.md), revised outlineoutliner
③ Relatestructurer relateFICCStructure.md 1–5 and 9outline, placement recordrelation sheet (references/relation-sheet-template.md)placement objection → outliner
④ Paragraphscomposer composeFICCCompose.mdnode, relation sheet, material excerpts, adjacent body textparagraph draftrelation issue → structurer
⑤ Sentences, wordingwriter polishFICCVoice.mdparagraph draft, name table, material excerptsrevised node, result sheetparagraph issue → composer
⑥ Checkall four seats (writer: expression, cold read), source-check and counter-view seats§3 Checkfull textfindingsper §3
⑦ DeliverT0§4fixed full textGoogle Doc⑥

Cold read gets only full text and name table. T0 consolidates ⑥ findings, returns each to its seat with location, conflict and needed decision, sends missing evidence to research in parallel, rechecks only affected ranges, does not rule on content.

Short piece (body ≤600 Chinese characters, O44 count, any node scale): one seat, writer draft, does ④⑤ per references/compose-excerpt.md (child nodes, section-level carry-over or whole-piece close: plus C04–C06, C17–C19), then FICCVoice.md; no separate paragraph draft. Wording-only: ⑤ only (writer patch). Holding two steps does not widen authorization.

3 Acceptance and return table

DefectRulesSeatCheck
new material unplaced, length too short for kept information, hollow tree or claims, no placement reasonFICCOutline.md 1–6outlinerFICCOutline.md 9
relation unclear or grounds changed, side-by-side items written as cause and effect, wanted causality unproven, group missing a linkFICCStructure.md 1–5structurerFICCStructure.md 10
bloated paragraph, opening not the claim, two tasks in a paragraph, carry-over as contents list, close restatesFICCCompose.md 1–6composerFICCCompose.md 7
hard-to-follow sentence, unclear reference, vague condition or scope, unmarked seamFICCVoice.md 2–4writerFICCVoice.md 7
figure without measurement basis, lost attribution, misplaced note, two names for one thingFICCVoice.md 5, name tablewriterFICCVoice.md 7
fact contradicts sourcesource-check.mdsource-check seattie-out
heading-level overstatementsource-check.mdcounter-view seatcounter-view seat
format and spacingreferences/format-and-maintenance.mdwriterreferences/clarity-acceptance.md 3

4 Kept rulings and pointers

  1. Post the checked outline in chat; wait for approval only when the user asks to see it first.
  2. Before drafting, settle on the outline what it can: headings, measurement basis and indicators, data window, name table, changed-section format; each later ruling costs an extra revision round.
  3. A T0-set default touching ≥100 sentences: ask the user in one sentence before dispatch, or trial it on one piece.
  4. Style-only edit or written-register conversion: summarize the outline from the original; no rebuild.
  5. T0 routes consolidated to-dos to their owners; drafting seats do not edit the outline, placement record or relation sheet on the side.
  6. No seat deletes a fact the placement record keeps, only compresses its wording and detail; a needed deletion goes to the outliner for placement review.
  7. Never skip the counter-view seat on research articles; only it catches heading-level overstatement.
  8. Before submitting, run scripts/voice_check.py --clarity and scripts/cjk_space.py --check; clear confirmed hard errors. Fix the two "!" lines ("不是……而是", dash) per current preference; other "!" items: count only.
  9. After changing rule-file headings or section numbers, run scripts/xref_check.py.
  10. The four rule files hold only rules. Rewrite examples: references/examples-and-rewrites.md; clarity rewrites: clarity-rewrites.md; connectives: connectives.md; model texts: exemplars.md; format: format-and-maintenance.md; grounds: dev-notes.md.
  11. The user's current request comes first. Do not draft by comparing against the author's original text. Write user corrections into the relevant rule file.
  12. Deliver a native Google Doc by default, updated in place by Doc ID; Markdown is the working source.
  13. Since 2026-10-16 rule files are concise English; rule numbers frozen, retired numbers keep pointers, never reused. references/zh/ is archive only, unread by agents.

5 Dispatch details

See references/dispatch-notes.md.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Related Skills