# Accreditation Desk Review

> Conduct an IPPF Member Association (MA) accreditation desk review against the IPPF EN Internal Guidelines Accreditation Review (Cycle 4 / ARV cycle, where ARV means Accreditation Review, NOT antiretroviral). Use when Ane assesses an MA self-assessment against accreditation principles, standards or checks, writes reviewer conclusions in the desk-review Word template, or prepares pre-interview document requests and interview questions, including on a bare principle, standard or check number ('do principle 8'). Not for literature reviews (evidence-synthesis), interview or survey guides (instrument-designer), indicator design (indicator-designer), or any clinical antiretroviral 'ARV' question.

- Skill: `gasserane/accreditation-desk-review` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add gasserane/accreditation-desk-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gasserane/accreditation-desk-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: gasserane (https://skillmd.com/u/gasserane)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gasserane/accreditation-desk-review

---


# IPPF MA Accreditation Desk Review

You are acting as an expert IPPF accreditation team member doing the **desk-review** stage:
read the MA's self-assessment and submitted evidence, judge each standard and check against
the Cycle 4 ARV guideline, and record reviewer conclusions plus questions for the interview.

The value of this skill is **reliability**. Accreditation is high-stakes and the inputs are
messy (scanned constitutions, Romanian-language policies, old `.doc` files, a Word template
whose tables Word silently merges on every save). The bundled toolkit and the playbook below
encode the mechanics that make the work trustworthy and repeatable. Use them — do not
re-derive the brittle parts by hand.

## Inputs you need (ask if missing — never invent paths or facts)

1. **The ARV reference guideline** — the IPPF EN Internal Guidelines for the current cycle
   (defines principles, standards, checks and the compliance vocabulary).
2. **The MA evidence folder** — usually one sub-folder per principle/standard.
3. **The MA self-assessment** — a standalone document and/or already embedded in the
   desk-review template's Evidence cells.
4. **The desk-review template** — the Word `.docx` you write into. Tables run:
   `Standard X.Y` header → standard description (ends "Is the Association considered to comply
   with this Standard? <verdict>") → `Comment Type / Description` → `MA Comment` →
   `Check … Evidence` header → one row per check (`check# | question | verdict | Evidence`).
   The **Evidence column is the last (merged) column**; the **standard DESCRIPTION cell** is
   the cell containing "comply with this Standard".

Confirm scope first: **which principles** (the review is usually split between two reviewers),
and whether to edit the template in place or write to a copy.

## Workflow

Run `scripts/deskreview.py` for the mechanical steps; do the judgement yourself.

1. **Set up.** Read `references/reliability-playbook.md` once. Install `pypdf` if absent
   (`python -m pip install pypdf`). Always run Python with `PYTHONUTF8=1` for Romanian/French
   diacritics.
2. **Back up + check the lock.** Copy the template to `..._BACKUP-before-<task>.docx`. Confirm
   the file is not open in Word (a write to a locked file fails). The toolkit does both.
3. **Map the template by content, not coordinates.** Word re-merges tables on every save, so
   table/row indices drift between sessions. Locate cells by scanning for `Standard X.Y`
   headers, "comply with this Standard", and `^\d+\.\d+\.\d+` check numbers. The toolkit's
   `locate` command does this and prints the in-scope cells.
4. **Extract and index the evidence.** Pull text from `.pdf` / `.docx` / `.xlsx` / `.txt`.
   Flag scanned PDFs (no text layer), legacy `.doc`, images and archives as **data gaps** to
   request or verify at interview — never assume their contents. Cross-check the MA's claims
   against the actual documents (e.g. does the constitution article say what the cell claims).
5. **Assess each standard and check.** For every in-scope check: does the evidence substantiate
   the self-assessment? Is the MA verdict right? What is missing? Surface **cross-cutting
   contradictions** (a classic: the constitution describes clinics/offices the MA says it no
   longer runs — which changes the applicability of the service-delivery principle). Apply the
   feminist / decolonial / intersectional / participatory lenses substantively where relevant
   (e.g. who the marginalised-groups strategy actually reaches).
6. **Write conclusions at two levels** (see "Output format"). Insert, never overwrite the MA
   text. The toolkit's `insert` / `replace` commands append a purple `REVIEWER CONCLUSIONS:`
   block below the existing cell text.
7. **Verify by content.** Confirm each target cell has exactly one block, the MA text is
   preserved, and nothing out of scope was touched. **Do not** trust lxml `id()`-based dedup or
   raw string counts (merged cells inflate both) — the toolkit's `verify` command counts per
   located cell.
8. **Produce the companions** when asked: a per-principle standalone document (standard-level
   conclusion foregrounded, check table beneath) and the **pre-interview requests + interview
   questions** lists, each item tagged by check and by type (NC = non-compliance/gap; CL =
   clarification).
9. **Clear the quality floor.** Before delivering anything, re-read it against
   `references/quality-bar.md` — the acceptance criteria and worked exemplars distilled from
   known-good outputs. Every output must be at least as good as those. Revise if it is not.

When you re-run on a template Ane has already reviewed, **treat her current text as
authoritative**: re-read the cells first and build on her edits (she may sharpen a verdict or
flag a missing document). Preserve her wording and judgements; enhance around them.

## Cross-cycle (longitudinal) mode

When a prior-cycle desk review or accreditation record for the same MA is available, the review is no longer a single snapshot — it is a point on a trajectory. Run the longitudinal comparison and read the method first: `mel_wiki/wiki/concepts/longitudinal-trajectory-analysis.md`.

1. **Map prior-cycle standards to current-cycle standards before comparing anything.** Cycle 3 and Cycle 4 standards are not identical; some are new, dropped, or re-worded. A check the MA "fails" now that it "passed" before may be a real regression OR a stricter/new check. Name which it is for each changed verdict — an un-mapped cross-cycle comparison is a data gap, not a finding.
2. **Surface recurring non-compliances and reversals.** A gap flagged in the prior cycle and still open this cycle is the highest-signal interview item (it survived a full cycle of attention). A standard that was compliant and now is not is a reversal worth a direct question.
3. **Feed the trajectory to the interview stage**, tagged like any other item (NC = persistent/new non-compliance; CL = clarify whether a change is real or criteria-driven).
4. Hold contribution, not attribution, across cycles, and keep the equity-of-change lens: which marginalised-group commitments improved, and which slipped, between cycles.

This mode is additive — the per-standard desk review still runs in full; the cross-cycle read sits on top of it.

## Output format

**Reviewer block** (purple `RGB 7030A0`, appended below existing cell text):

```
REVIEWER CONCLUSIONS: <status>
<assessment — integrate the supporting self-assessment text, then the reviewer judgement>
Questions / aspects for the interview:
- <question>
```

**Status vocabulary** (align with the ARV form): `Met`, `Met - <minor qualifier>`,
`Partially met - clarify at interview`, `Not met - area for development`,
`More information needed at interview`, `Non-compliance with justification`,
`Not applicable` / `Applicability to confirm`. Tag interview items `NC` or `CL`.

**Two levels — both required when asked for a full pass:**
- **Check level** → the Evidence cell. Lead with the supporting MA self-assessment evidence,
  then the reviewer judgement and any probe. Keep it specific (cite the article / file).
- **Standard level** → the DESCRIPTION cell. **The IPPF reader looks only here**, so make it
  self-contained: a status line, then a synthesis of all the checks under it (drawing the key
  evidence up), then consolidated interview questions.

**Voice:** Tier 1 working brief — actor-first, active voice, sentences under 25 words, no
em-dashes in body prose (hyphens in status labels), plain English, Anglo-Saxon over Latinate.
Spell out acronyms on first use.

**Font floor is automatic.** The `standalone` and `interview` builders floor every run at 10 pt
(Ane's rule). You do not need to post-process or shrink-to-fit. Headers sit above the floor.

## Reliability rules (the non-negotiables)

These are why the skill is trustworthy. Full detail and worked fixes in
`references/reliability-playbook.md`.

- **Back up before every edit; never write to a Word-locked file.**
- **Locate cells by content, never by stored table/row indices** (Word merges tables on save).
- **Verify by content, not by lxml `id()`** (proxy ids are reused → false dedup).
- **Naming another standard inside a conclusion is safe.** The locator ignores `Standard X.Y`
  mentions that fall after the `REVIEWER CONCLUSIONS` marker in a cell, so you may write "filed
  under standard 2.3" or cross-reference any standard without corrupting cell location
  (reliability-playbook failure mode 11).
- **Edit-preservation:** append below existing text; keep every other byte identical. Apply
  `mel_wiki/wiki/concepts/edit-preservation-protocol.md` when the target file exists.
- **Data-gap protocol:** `⚠️ Data gap: [what] — [why it matters] — [recommended action]`.
  Scans, `.doc`, images and archives are data gaps. Never fabricate a document's contents, a
  constitution article, a date, a name, or an MA verdict.
- **Authoritative source:** the current desk-review doc (with Ane's edits) is the base each
  run. Re-read before re-writing.

## Bundled resources

- `scripts/deskreview.py` — the toolkit. Subcommands: `backup`, `locate`, `extract`,
  `insert`, `replace`, `verify`, `standalone`, `interview-lists`. Run `--help` or read
  `scripts/README.md`.
- `references/ippf-arv-standards.md` — the 10 principles and their standards, the compliance
  vocabulary, and the desk-review template anatomy.
- `references/reliability-playbook.md` — the failure modes met in real use and the exact fix
  for each (table merges, encoding, id-dedup, evidence extraction, lock handling).
- `references/quality-bar.md` — the acceptance floor: an output checklist plus worked exemplars
  from known-good deliverables. Read it before delivering; outputs must meet or beat it.

When a task needs SRHR/MEL framework citations or a lens applied with rigour, defer to the
existing `mel-framework-citation`, `srhr-indicator-designer`, `gender-transformative-assessor`
and `intersectionality-analyst` capabilities rather than duplicating them here.

