본문으로 건너뛰기
cccskills
무료GitHub에 공개

draft-config-guide

Draft, update and publish a Tamanu user configuration guide for a module, covering its reference data, settings and permissions. Use when the user wants a configuration guide written or refreshed for a module (e.g. "write a config guide for Vaccines", "update the Medications config guide"), or wants existing System Administration documentation brought across from Slab. Authors from the codebase so the guide matches what the software does, and commits it under docs/user-manuals/config-guides/ for the author to review and raise as a pull request. Not for developer documentation or release notes (use draft-release-notes for the latter).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Your task: Draft a configuration guide

You write the configuration guides a system administrator or project manager configures a deployment from. You author them from the codebase, so what they describe matches what the software does, and commit them for the author to review.

Read .agents/docs/config-guide-format.md first and follow it for anything about what a guide looks like: structure, tables, settings blocks, callouts, version flags, screenshots, and the accuracy rules. This file is the procedure only.

Each module has three guides — 01-reference-data.md, 02-settings.md, 03-permissions.md — plus a README. The Medications guides (docs/user-manuals/config-guides/15-medications/) are the worked example.

Drafting a new guide and updating an existing one are the same job from different starting points. When updating, read the existing guides first: they carry author-written content you must preserve.

1. Establish scope, and confirm it

A module's configuration is not grouped anywhere in the codebase, and the boundary between modules is editorial. Medication settings span several schema keys; Drug reference data belongs to Medications, Dispensing and Immunisations at once.

Discover candidates:

  • Settings — packages/settings/src/schema/{global,central,facility}.ts. Search beyond the obviously-named subtree; related settings hide under other top-level keys and under features
  • Permissions — packages/constants/src/permissions.ts. Search by meaning, not prefix: a subject like SensitiveMedication sorts away from its siblings
  • Reference data — packages/constants/src/importable.ts for the types, then the importers (packages/central-server/app/admin/referenceDataImporter/), import schemas and exporters (.../admin/exporter/modelExporters/) for tab names, columns, required fields and default-when-empty behaviour. defaultProvisioningData/*.json5 has realistic example rows. The admin panel's Manage tab edits the same records (packages/central-server/app/admin/referenceDataManage.js)
  • Existing documentation — the module's Slab posts (see step 2), which can name configuration a code search misses

Then present the candidate list for the author to approve or trim before writing anything. Do not derive scope and proceed. If the module has no folder yet, propose where it sits in the module order, since adding it renumbers the modules after it (see the format doc).

2. Draft what the code cannot give you

Scope limitations, clinical caveats and the lead paragraph are not in the codebase. Draft them from the module's existing documentation and what you can see of its behaviour, then have the author correct them. Never invent clinical guidance: where you have nothing to go on, leave a marked gap.

Tamanu's existing System Administration documentation is in Slab, at https://beyond-essential.slab.com/public/topics/system-administration-clam9ygt. Slab renders its pages with JavaScript, so read them with a headless browser, as for screenshots (step 4); a plain fetch returns only the page title. Open the module's configuration guide posts, and read them for what the module covered, its narrative and its template links, but write the code-derived sections from the code rather than from Slab's wording, since Slab may describe an older version.

3. Batch the author's checkpoints

Settle scope first. Then put everything else that needs the author into one review: the drafted lead paragraph, the capabilities listed under each permission (inferred from req.ability.can() call sites), version flags (from release branch history, see llm/project-rules/release-branches.md), the red outlines you propose for each screenshot, and a request for each reference data type's example template link. A guide-authoring skill that asks a dozen separate questions will not get used.

4. Screenshots

Leave a placeholder for each image the guide needs, per the format doc. If the author provides a demo site and a login, capture the images yourself; otherwise the author captures them by hand.

To capture from a demo site:

  • Confirm first that the site holds synthetic data only, since the images are published; that it runs the version the guide documents; and which address serves the admin panel, since settings screens are there rather than on the facility frontend
  • Keep the login to the session. Never write it to a file, commit it, or put it in the PR. If a login fails, stop and check rather than retrying: repeated failures can lock a shared account
  • Browse, do not change. Never save a setting, and close forms without submitting them. Get the author's go-ahead before typing invalid input for an error-state image, or creating records a screen needs; without it, leave that placeholder
  • Use only the test patient the author names. Where that patient's records cannot show a screen, leave the placeholder rather than using another patient
  • Use a throwaway headless-browser script outside the repository, not a spec in the e2e suite
  • Capture per the format doc: cropped to the part of the screen the section is about, at twice screen resolution, with the red outlines the author chose drawn in at capture and a black border drawn around the image
  • Check each image before using it: it shows what its placeholder describes, and no real names. Save it to the images/ folder named for its guide and what it shows, replace the placeholder, and add its centred caption

5. Report gaps, never widen scope

You will find configuration a guide does not document. Report it and leave it out unless the author asks for it: an omission is often deliberate, because the configuration belongs to an adjacent module or is not yet supported. Correcting a fact the guide already documents is not widening scope — always do that.

On an update, also list screenshots in sections whose code has changed, so the author can judge whether to retake them.

6. Land it

Write the guides, update the module README and the section README, check every link and anchor still resolves, and commit. Do not open the pull request: the author reviews the diff and raises it. Title it to Tamanu's conventional commit format (llm/project-rules/pull-requests.md; docs is not an allowed type, use chore).

Then tell the author what you wrote, the configuration gaps you found, and any screenshot placeholders still to be filled and why, so they can go in the pull request description.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Check whether this card's code meets the acceptance criteria

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

Summarise the unit and e2e tests a branch/PR adds, run only those, and produce a paste-ready report (e.g. for a Linear card). Use when asked to 'summarise added tests', 'run the new tests', 'what tests did this PR add', or to prove a card's test coverage.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

Run a quick UX/UI workshop using ASCII-art sketches

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

Write automated tests for unticked scenarios in this card's test cases

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

Review code changes on this card for likely bugs, regressions, and missed edges

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

Maintain a support docs pack — dedup, length budgets, and no splintering — and land changes as a reviewed pull request. Use when a support thread, or a hand-off from Support assist, surfaces a new resolution, a correction to an existing one, or a deployment quirk worth recording. Not for ordinary code changes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

beyondessential/tamanu92026년 10월 26일 업데이트

beyondessential의 스킬 모두 보기

이 스킬의 문제 신고