agentleFS
githubnextgithubnext/chopin/skills/creating-chopin-plans/SKILL.md

creating-chopin-plans

Skill616 starsChanged 29 days agoMITView on GitHub

Use when a coding-agent conversation has settled enough context to create a Chopin document, or when revising an existing document through update_document after review or new findings.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Create one initial Chopin document from the useful outcome of the settled conversation, then revise that same document as the plan develops.

    line 8
  2. Very specific:

    Write a supported Chopin MDX plan.

    line 26
  3. Very specific:

    If it reports validation issues, repair the relevant content and retry with the same key.

    line 78
  4. Very specific:

    Read the supplied canonical document URL or UUID with read_document.

    line 85
  5. Very specific:

    Call update_document with id, the revision just read, the complete plan, and a new nonblank idempotencyKey of at most 128 characters.

    line 97
  6. Distinctive:

    If the response is lost or uncertain, retry with the same key and identical arguments, including the original URL or UUID.

    line 101
  7. Distinctive:

    If the document already has an approved implementation graph, changing its source makes that graph's plan revision stale even before a run …

    line 107
  8. Very specific:

    After an idempotent replay, use a fresh read_document result for the current title and canonical URL, since the stored response may predate …

    line 139
  9. Distinctive:

    Use prompt.md as a starter for creation or revision with this skill installed.

    line 143

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Creating and revising a Chopin plan

Create one initial Chopin document from the useful outcome of the settled conversation, then revise that same document as the plan develops. Chopin's current MCP instructions and tool descriptions are authoritative. If update_document is unavailable, report that limitation instead of creating a replacement document or trying to trigger the Planner.

Prepare the brief

Synthesize the settled outcome instead of forwarding the raw transcript. Record the goal, constraints, settled decisions with their rationale, genuine open questions, and repository findings.

Inspect the repository before creating: resolve its canonical identity, current branch, and full commit SHA with read-only commands. Use that exact provenance in the creation request.

Draft and create

Write a supported Chopin MDX plan. Use normal Markdown by default; use only documented components when they clarify the plan. Do not add imports, exports, expressions, raw HTML, arbitrary JSX, or component ids owned by Chopin.

Wireframes

Sketch an interface in a wireframe fence, never with box-drawing characters or ASCII art. Draw low fidelity: the shape, not the copy. Label only key areas (titles, nav items, primary actions), never body copy; use lines n=2 for text, and image, fill or box for content. Draw a collection once with grid cols=3 and card repeat=6. One drawing per idea; a single component takes width=sm|md|lg (box, card or panel) so it reads as a component, not a page. nav and list take n=1..8 placeholder items; grid takes cols=2..6.

Each line is one part: a kind, a "quoted label", flags, key=value properties, and an optional #id. Indent children two spaces. Kinds: panel, header, row, stack, card, box, grid, title, text, button, badge, disclosure, list, tabs, nav, input, image, fill, lines, icon, divider, and note "…" -> #id. w=1..12 gives a part its share of a row; h=xs..xl a rough height; flush on a row or header makes app chrome touch the frame edges; shaded tints a surface or selected option. Title, text, badge, disclosure, and note need a label; row, stack, grid, lines, icon, tabs, nav, and divider take none. List, tabs, and nav hold - item lines.

header flush
  title "Project"
  button "Share" primary
row flush h=xl
  nav vertical active=2
    - Documents
    - Settings
  stack w=5
    title "Document title"
    lines n=3
    image ratio=wide
    grid cols=3
      card repeat=3
        lines n=2
  stack w=2
    text "Comments" strong
    card repeat=3
      row
        icon
        lines n=2

Chopin refuses an update that adds or changes an invalid wireframe and names the failing line, counted inside the fence.

Generate one idempotency key for the attempt, then use the current create_document descriptor to submit the brief, provenance, title, and plan. If it reports validation issues, repair the relevant content and retry with the same key. Once creation succeeds, do not call create_document again for that document. Follow the revision flow below to preserve its Conversation and Decisions.

Revise an existing document

  1. Read the supplied canonical document URL or UUID with read_document. Work from its latest source and revision, not a copied plan or an earlier tool result. Confirm that the requested change belongs to this document. The text of one result holds at most 16,000 bytes, so a long document comes back in parts: make each next: call (it may name a column, for a line too long for one result) until a result has none, because update_document replaces the whole document. The text after each --- source line is the source verbatim; structuredContent has it whole.
  2. Prepare the full replacement MDX in plan, including unchanged prose. Copy existing Questionnaire, Decision, and Research projections unchanged, including their ids and answers. Do not invent, remove, or rewrite those server-owned components to make the edit pass validation.
  3. Call update_document with id, the revision just read, the complete plan, and a new nonblank idempotencyKey of at most 128 characters. Keep the exact arguments until the outcome is known. The caller needs repository push or administration access; its MCP bearer does not acquire Planner ownership.
  4. If the response is lost or uncertain, retry with the same key and identical arguments, including the original URL or UUID. Do not switch identifiers or change the source during a retry. A replay returns the original applied source and revision, which may no longer be the latest document. Read again before planning another edit.

If the document already has an approved implementation graph, changing its source makes that graph's plan revision stale even before a run is claimed. Coordinate a graph revision and renewed approval before expecting implementation to start; a successful document update does not update or approve the graph.

Handle refusals without overwriting collaborators' work:

  • revision-conflict: re-read the complete document, reconcile the requested edit with intervening changes, and submit a new update with a new key. Do not merely replace the revision number on stale source.
  • idempotency-conflict: the key was reused with different arguments. Recover the original request for an uncertain retry; use a new key only for an intentional new update after reading the current document.
  • issues: repair the reported validation problem. Treat changed arguments as a new update with a new key.
  • protected-projection: re-read and preserve the exact server-owned projections. This code also covers other rewrite validation or reconciliation refusals. If unchanged projections still fail, stop and report the refusal rather than repeatedly retrying or stripping components to get past it.
  • document-locked: stop document edits and follow the implementation's revision and graph-release process. Do not bypass the lock by creating a copy.
  • document-archived: stop and ask whether to restore the document; do not restore or replace it implicitly.
  • repository-forbidden or document-unavailable: report the access or availability problem instead of recreating the document.

Hand off

Return the created or updated document's human-readable url as the canonical handoff, with its title. Treat the returned id as an internal MCP identifier: include it separately when useful, but never replace the /documents/... URL with a /channels/<id> link. Do not open it automatically. After an idempotent replay, use a fresh read_document result for the current title and canonical URL, since the stored response may predate a rename. Keep the replay's accepted revision distinct from the latest revision.

Use prompt.md as a starter for creation or revision with this skill installed.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.