IntermediateAgent Skill

Knowledge Ops

Run a knowledge base audit and improve SOP drafts using the documents your team already maintains. This Skill includes Python tools for procedure completeness, runbook checks and knowledge-base hygiene, helping identify missing owners, unclear success criteria, stale pages and broken links before staff rely on the instructions.

Views
0
Copies
0
Favorites
0
Editorial Score
82/100
01

What this Skill does

A knowledge base becomes difficult to trust when procedures omit key details or old pages remain mixed with current guidance. Knowledge Ops reads local Markdown or JSON exports and checks both the instructions themselves and their maintenance information.

Use it when cleaning a support knowledge base, reviewing runbooks or preparing a new SOP. The output helps prioritize documentation fixes, but a completeness score does not show that the procedure has been successfully executed. Live Notion or Confluence connections are not part of the package.

02

What makes it different

01

Approach and advantage

Three tools separate SOP drafting, runbook validation and knowledge-base auditing. Checks include 5W2H coverage, ownership, observable success and rollback information, making vague instructions easier to turn into actionable steps.

02

What you can use it for

Review dates and link checks expose maintenance work across an exported knowledge collection. Use those findings to identify documents that need an owner or a refresh, then verify the revised procedure with the people who actually perform it.

03

Before you install

Inputs to prepare

Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.

Agent and runtime

Use a Skill-capable agent with file access. Python 3 is required for the bundled Python helpers; inspect their sample schemas before supplying data.

Scope to confirm

It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

04

Install and get started

Copy this request into Codex or Claude Code. The assistant downloads the original repository at the specified commit, installs the complete files and checks required dependencies.

  1. Open Codex or Claude Code with local file and terminal access.
  2. Copy the request below into the app you are using. The assistant will select that app’s installation directory.
  3. Check the returned path and file checks. Start a new session if needed, then ask the assistant to use the installed Skill.
Install knowledge-ops in the app I am using and carry out the file installation, not just explain it. Original repository: https://github.com/alirezarezvani/claude-skills.git Commit: 6d2f02ea077eead1bee5411a31bcc6db5a11a70c Skill folder: business-operations/skills/knowledge-ops 1. Download this exact source into a new directory. Read SKILL.md and its setup references before running any bundled scripts. Do not substitute another author’s package. 2. For Codex, use ~/.agents/skills/knowledge-ops; for Claude Code, use ~/.claude/skills/knowledge-ops. Install only for my current app. Install the complete Skill folder, including scripts, references, assets and bundled notices. Keep any root license with the installed folder. Check all destination folders first; if any already exist, report differences before replacing them. 3. Compare the source and installed file lists and hashes. Inspect documented runtimes, dependencies and required connections. Configure only the local dependencies needed for this Skill; use an isolated environment when appropriate. Ask me to complete any account login locally, without putting credentials in chat. 4. Report the source commit, actual installation path, file-check results and any remaining runtime setup. Explain how to invoke knowledge-ops in this app. Check discovery separately from file copying; start a new session if needed. Do not run production tasks or claim a successful business outcome from installation alone.
05

Original Skill.md

This is the unchanged source SKILL.md for the reviewed version. Install the complete package to retain referenced scripts, assets, and instructions. Starter prompts below are EcomAgentTools examples.

---
name: knowledge-ops
description: Use when a Head of Ops, Knowledge Manager, or TPM-Internal needs to author, validate, or clean up company SOPs and internal runbooks (procurement intake, vendor offboarding, incident-comms cascade, employee onboarding) — including 5W2H completeness checks (Who-What-When-Where-Why-How-HowMuch), cross-link and orphan-page validation across a sprawling Notion/Confluence/Obsidian wiki, KB ingestion + hygiene reporting, and runbook step verification (named owner, expected duration, observable success signal, rollback path, escalation contact). Pairs Ishikawa's 5W2H method, Gawande's *The Checklist Manifesto*, ISO 9001, ITIL v4, and Google SRE Workbook runbook discipline with deterministic stdlib-only Python tools that score completeness, detect anti-patterns, and emit prioritized cleanup lists (e.g., "validate this runbook before it goes into rotation", "audit our Confluence wiki for stale and orphaned SOPs").
context: fork
license: MIT
metadata:
  version: 2.8.0
  author: claude-code-skills
  tags: [bizops, sop, runbook, knowledge-management, kb, 5w2h, wiki, ops-documentation]
  compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
---

# knowledge-ops

Company SOP + internal runbook authoring, 5W2H completeness validation, and KB hygiene reporting for Head-of-Ops / Knowledge-Manager / TPM-Internal personas.

## Purpose

An ops organization three years in accumulates a sprawl: 600 Notion pages, 200 Confluence runbooks, three Obsidian vaults, a `Drive/SOPs/` folder, and a `Slack #ops-questions` channel that exists because nobody can find the canonical doc. Predictable failure modes:

1. **No owner** — 40% of SOPs name "the team" instead of a person. When the doc rots, nobody is accountable.
2. **No last-reviewed date** — a years-old vendor-offboarding SOP still references a procurement tool that was sunset over a year ago.
3. **Vague success signals** — runbook step 4 says "verify the service is up". A new operator can't tell what that means.
4. **No rollback path** — incident-comms cascade runbook tells you how to send the alert. It doesn't tell you how to retract it when the alert was wrong.
5. **Orphan pages** — half the KB has no inbound links. Nobody finds them via navigation; they only exist because somebody knew the URL.
6. **Glossary drift** — "CSM" means Customer Success Manager in three docs and Customer Solutions Manager in five. New hires guess wrong for six months.
7. **Happy-path-only SOPs** — the doc covers what happens when everything works. It doesn't cover the 30% case where it doesn't.

This skill answers the operator's actual question: **"Which 20 docs do I fix first, and what specifically is wrong with each?"** — with deterministic logic, not intuition.

## When to use

- Authoring a new SOP for a cross-functional company process (procurement intake, vendor offboarding, incident-comms cascade, employee onboarding, expense reimbursement, customer-escalation playbook, security-incident comms, system-access provisioning).
- Validating an existing internal runbook before it goes into rotation (every step must have a named owner, expected duration, observable success signal, observable failure signal, rollback path, escalation contact).
- Ingesting a multi-document KB export (Notion zip, Confluence space export, Obsidian vault, `Drive/SOPs/` directory) and surfacing what's broken: orphan pages, stale pages (no edit > 12 months), glossary drift, missing-owner pages, cross-link map.
- Onboarding a new ops hire by generating the SOPs and ops-handbook pages they need to read in week 1.
- Wiki cleanup sprints — quarterly hygiene work where the org decides which 30 docs to archive, rewrite, or merge.

## Workflow

Four-step deterministic flow (matches the ops org's actual workflow, not an abstract process):

1. **Ingest KB.** Run `kb_ingester.py --input <vault-dir>` on the existing wiki export. Output is a markdown health report: orphan pages, stale pages, glossary drift, missing-owner pages, cross-link map, prioritized cleanup list. The report ranks the top-20 docs to fix first — usually a mix of high-traffic stale docs and compliance-relevant missing-owner docs. Take this list to the cleanup sprint.
2. **Validate existing runbooks.** For each runbook in the cleanup list (or any new runbook before it goes into rotation), run `runbook_validator.py --input <runbook.md>`. The validator scores each step against six checks (named owner, expected duration, observable success signal, observable failure signal, rollback path, escalation contact) and produces a per-step traffic-light + overall validity score 0-100 + MUST-FIX issue list. A runbook scoring < 60 is not safe to use in an incident.
3. **Generate missing SOPs.** For SOPs that need to be written from scratch (or rewritten because the existing one is unsalvageable), run `sop_generator.py --input <metadata.json> --profile <ops|support|finance|hr|it|regulated>`. Output is a 5W2H-structured SOP scaffold: Who (RACI), What (process steps), When (triggers + frequency), Where (system + tool), Why (purpose + regulatory basis), How (step-by-step), How-much (cost + time per execution). The `regulated` profile adds version control, signoff, and audit-trail sections (ISO 9001 / FDA 21 CFR Part 211 / SOC 2 / HIPAA).
4. **Cross-link + close the loop.** Re-run `kb_ingester.py` after the cleanup sprint to verify orphan-page count is down and glossary drift is resolved. The metric that matters is **"unfindable docs"** (orphans) and **"unsafe runbooks"** (validity score < 60) — not page count.

## Scripts

**`scripts/sop_generator.py`** — Reads a JSON metadata file describing an SOP (process owner, triggering event, audience role, frequency, regulatory overlay, inputs, outputs, steps outline) and emits a full 5W2H-structured SOP in markdown (or normalized JSON). The `--profile` flag tunes the output: `ops` (general internal ops), `support` (customer-support runbook style), `finance` (controls + reconciliation focus), `hr` (sensitive-data flagging), `it` (system + access focus), `regulated` (adds version control, signoff matrix, audit-trail). Regulatory overlays (`SOC2`, `HIPAA`, `ISO13485`, `GDPR`, `SOX`) attach the appropriate compliance preamble. `--sample` prints a complete vendor-offboarding SOP example. Stdlib only.

**`scripts/runbook_validator.py`** — Reads a runbook (markdown file or JSON) and validates each step against six required attributes: (1) named owner (not "the team", not "ops"), (2) expected duration (concrete number + unit), (3) observable success signal (e.g., "HTTP 200 from `/healthz`" — not "service is up"), (4) observable failure signal, (5) rollback path (or explicit "this step cannot be rolled back, escalate to X"), (6) escalation contact (named person or named on-call rotation). Output is a per-step traffic-light (GREEN/AMBER/RED), an overall validity score 0-100, and a MUST-FIX issue list. Verdict: ≥ 80 = SAFE-TO-USE, 60-79 = USE-WITH-CAUTION, < 60 = NOT-SAFE. `--sample` prints a deliberately-broken incident-comms runbook to demonstrate failure detection. Stdlib only.

**`scripts/kb_ingester.py`** — Walks a directory of markdown files (Notion export, Confluence space export, Obsidian vault, `Drive/SOPs/` directory). Extracts: (a) cross-link map (which page references which, via markdown `[link](path)` syntax), (b) glossary candidates (frequently used proper nouns and acronyms that recur in 3+ docs without a single canonical definition page), (c) orphan pages (no inbound links from anywhere in the vault), (d) glossary drift (the same term defined or used inconsistently across docs — e.g., "CSM" expanded differently in two places), (e) stale pages (no edit in > 12 months, detected via filesystem mtime or YAML `last_reviewed` frontmatter), (f) missing-owner pages (no `owner:` field in frontmatter). Emits a KB health report markdown with a prioritized top-20 cleanup list ranked by `staleness × inbound-link-count` (high-traffic stale docs first). `--sample` builds a tiny synthetic 8-page vault in a tmpdir and runs the full pipeline against it. Stdlib only.

## Quick example

```bash
# Builds a synthetic 8-page vault and emits a KB health report (orphans, stale pages, glossary drift, top-20 cleanup list)
cd business-operations/skills/knowledge-ops && python3 scripts/kb_ingester.py --sample
```

## References

- `references/5w2h_sop_canon.md` — Kaoru Ishikawa's 5W2H method, Toyota standard-work discipline, Atul Gawande's checklist manifesto, Atlassian Confluence SOP guidance, ISO 9001 SOP requirements, ITIL v4 Service Operation, FDA 21 CFR Part 211. Eight cited sources covering SOP authoring canon.
- `references/runbook_canon.md` — Google SRE Workbook (runbook chapter), Atlassian incident-management runbooks, PagerDuty Incident Response taxonomy, AWS Well-Architected operational excellence pillar, Charity Majors on observability-runbook integration, Susan Fowler on production-ready microservices, ITIL v4 Operations. Seven cited sources covering runbook design canon.
- `references/kb_hygiene_anti_patterns.md` — Eight anti-patterns drawn from Notion/Confluence wiki industry research, Mozilla SUMO knowledge-base lessons, Stack Overflow community-management research, the Atlassian Team Playbook, MIT TIK org-wiki studies, Cynthia Lee on glossary drift, and Adam Wiggins on "documentation rot".

## Assumptions

1. The KB is in markdown (or can be exported to markdown — Notion, Confluence, Obsidian, and Google Docs all support this). HTML-only or PDF-only KBs require a conversion pass first; out of scope.
2. The user has authority to commission rewrites or archives. Producing a cleanup list nobody acts on is wasted work — route findings to a named owner before running the ingester.
3. Owner metadata lives in YAML frontmatter (`owner: alex@company.com`) or in a top-of-page "Owner:" line. Tribal-knowledge ownership (the person who last edited the page) is treated as missing.
4. "Stale" defaults to 12 months. Override with `--stale-days` on `kb_ingester.py`. Some compliance regimes (FDA, ISO 13485) require shorter review cycles; use `--profile regulated` and `--stale-days 365`.
5. The user is not asking for a personal PKM. Personal Karpathy-style second-brain work belongs in `engineering/llm-wiki`.

## Anti-patterns

- **Generating SOPs in bulk without owners.** A doc with no owner has a half-life of 6 months. Refuse to generate a batch of 30 SOPs unless each one is assigned to a named human.
- **Using `runbook_validator.py` as a checkbox.** The validator catches missing structure. It does not catch wrong content. A runbook can score 100 and still tell the operator the wrong thing.
- **Treating orphan pages as garbage by default.** Some orphans are reference pages found only via search — not all orphans should be archived. The cleanup list is a *priority queue*, not a delete list.
- **Confusing knowledge-ops with `process-mapper`.** Process-mapper documents the *flow* of work between stages (BPMN, cycle time, bottleneck). Knowledge-ops documents the *artifacts* operators consume to execute the work (SOP, runbook, glossary). Both can apply to the same process.
- **Letting glossary drift accumulate.** Two definitions of "CSM" in three years becomes seven definitions in five. Fix glossary drift the moment it surfaces in `kb_ingester.py` output.
- **Skipping the regulated profile under regulated workload.** If the process touches PHI, SOX-relevant financial controls, or ISO 13485 device QMS, use `--profile regulated`. Missing version control on a regulated SOP is an audit finding.
- **Hand-writing 5W2H sections from memory.** The 5W2H scaffold exists because operators forget "How-much". Use the generator; edit the output.

## Distinct from

- **`engineering/llm-wiki`** — Karpathy-style personal PKM second brain where one human ingests sources into their own interlinked vault. Knowledge-ops is *organizational*: many authors, many readers, named owners per doc, formal review cycles, compliance overlays.
- **`engineering-team/runbook-generator`** — system-ops runbook for debugging a production system (logs, alerts, k8s, on-call). Knowledge-ops runbooks are *operator* runbooks for business processes (incident-comms cascade, vendor offboarding, employee onboarding). The audience is fellow operators, not engineers tailing logs.
- **`project-management/*`** — Jira / Confluence delivery tracking, sprint ticket workflow, project-status reporting. Knowledge-ops is the *content* in those Confluence pages, not the *tracking* of who edits them.
- **`business-operations/process-mapper`** (sibling) — BPMN process *design*: where the stages are, where work waits, which stage is the bottleneck. Knowledge-ops is process *documentation*: the SOP and runbook artifacts that tell an operator how to execute the process the mapper described.
- **`business-operations/internal-comms`** (sibling) — broadcast announcements, all-hands messaging, change-management comms. Knowledge-ops is the durable reference artifact; internal-comms is the broadcast.
- **`ra-qm-team/*`** — formal regulatory compliance authoring (ISO 13485 QMS, MDR technical files, 21 CFR Part 820). Knowledge-ops borrows the regulatory checklist but is not a substitute for a notified-body audit.

## Forcing-question library (Matt Pocock grill discipline)

Before invoking the tools, the orchestrator (or `/cs-grill-bizops`) walks the user through these questions **one at a time, with a recommended answer + canon citation**. Never bundled. Walk depth-first — do not open question 4 until 1-3 are locked.

1. **"Who is the named owner of this SOP / runbook, and do they know they own it?"**
   Recommended: a single human (not "the team"), and yes — they have agreed in writing.
   Canon: Gawande 2009 (*The Checklist Manifesto*) — checklists without an owner rot within 12 months. Ownership is the discipline.

2. **"When was this doc last reviewed, and what is the review cadence?"**
   Recommended: reviewed within the last 12 months (90 days if `--profile regulated`); cadence written in the frontmatter.
   Canon: ISO 9001:2015 §7.5.3 — controlled documents require review-cycle metadata. ITIL v4 echoes this for Service Operation runbooks.

3. **"For each runbook step: what is the observable success signal — by which I mean, what specific output tells you the step worked?"**
   Recommended: a concrete observable ("HTTP 200 from `/healthz`", "Slack thread closed with `done` reaction", "Salesforce opportunity moved to `Closed-Won` stage") — not "the service is up" or "it works".
   Canon: Beyer et al. 2018 (*Site Reliability Workbook*, Ch. 8) — observable signals are the entire point of a runbook. Vague success criteria are the leading cause of runbook misuse during incidents.

4. **"What is the rollback path for each runbook step that can fail?"**
   Recommended: every step that mutates state has either a rollback path or an explicit "cannot roll back — escalate to X" line.
   Canon: AWS Well-Architected Framework, Operational Excellence pillar — "you cannot run a process you cannot reverse without first agreeing what 'reverse' means".

5. **"Where does this doc live, and what other docs link to it?"**
   Recommended: in the canonical wiki, and at least 2 inbound links from related docs. An orphan SOP is an unfindable SOP.
   Canon: Atlassian Team Playbook on documentation health — orphan rate > 20% is the leading indicator of a wiki sprawl problem.

6. **"What is the regulatory overlay on this process — SOC 2, HIPAA, ISO 13485, GDPR, SOX, none?"**
   Recommended: explicit answer. If "none", confirm by checking the data classes the process touches.
   Canon: FDA 21 CFR Part 211.100 (Written procedures; deviations) — regulated SOPs require version control, change history, and signoff. Skip this step and the doc is an audit finding.

7. **"Is the happy path the *only* path documented, or are the 2-3 most common failure modes also documented?"**
   Recommended: the top-2 failure modes per process are documented with their own recovery sub-procedure.
   Canon: Fowler 2016 (*Production-Ready Microservices*) — operations docs that cover only the happy path are responsible for 60%+ of incident-time waste.

After all 7 are locked, invoke `kb_ingester.py` → `runbook_validator.py` → `sop_generator.py` in sequence.
06

Get started

Starter prompts for the main use cases—copy and use them directly.

01

Draft a supplier-onboarding SOP from approved facts

Draft a supplier-onboarding SOP from approved facts Use for: Draft a supplier-onboarding SOP from approved facts. Prepare: Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.

Show prompt and variablesHide prompt and variables
Use the installed knowledge-ops Skill. Task: Draft a supplier-onboarding SOP from approved facts. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

Replace these variables

[INPUT]
Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
02

Check a support runbook for missing owners and rollback

Check a support runbook for missing owners and rollback Use for: Check a support runbook for missing owners and rollback. Prepare: Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.

Show prompt and variablesHide prompt and variables
Use the installed knowledge-ops Skill. Task: Check a support runbook for missing owners and rollback. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

Replace these variables

[INPUT]
Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
03

Audit stale or orphaned pages in a local wiki export

Audit stale or orphaned pages in a local wiki export Use for: Audit stale or orphaned pages in a local wiki export. Prepare: Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.

Show prompt and variablesHide prompt and variables
Use the installed knowledge-ops Skill. Task: Audit stale or orphaned pages in a local wiki export. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

Replace these variables

[INPUT]
Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
07

Worked example: Turn support notes into an owned, usable knowledge base

Four synthetic knowledge pages include an orphaned care page, stale returns guidance, an ownerless runbook and conflicting terminology. The goal is actionable return handling with clear maintenance ownership.

Steps and prompt

  1. Prepare the attached business materials, preserving amounts, units, dates and metric definitions.
  2. Our support team gives inconsistent care and return answers. Audit the supplied knowledge base, resolve contradictions using the approved merchant facts, and produce a clear SOP, escalation runbook, index and glossary. Include owners, observable checks and recovery steps so a new teammate can follow the process.
  3. Submit the exact prompt below. Read the primary deliverable on the right and download all deliverables for the team handoff.

Case input files: business-inputs.zip

Use the knowledge-ops Skill.

Our support team gives inconsistent care and return answers. Audit the supplied knowledge base, resolve contradictions using the approved merchant facts, and produce a clear SOP, escalation runbook, index and glossary. Include owners, observable checks and recovery steps so a new teammate can follow the process.

The attached business materials are:
- inputs/forcing_answers.md
- inputs/kb_before/care.md
- inputs/kb_before/index.md
- inputs/kb_before/returns.md
- inputs/kb_before/runbook.md
- inputs/merchant.json
- inputs/runbook.json
- inputs/sop.json

Deliver a complete result.md report that the operations team can read, plus any finished files needed for this task. Keep supporting calculations and evidence with the deliverables. Write the report in English; use the requested target language for customer-facing copy. The business datasets are fictional examples unless the brief explicitly names a live public website.

What the run produced

The primary file produced by this prompt is shown below in its original language.

HarborMug support knowledge-base repair and operating procedure

Use one rule for every care answer: hand-wash only; not microwave safe. For returns, separate the 30-day unused-item eligibility check from the later inspection and merchant approval. A100 was requested 14 days after delivery and is eligible_pending_inspection. Keep its label request and customer reply as drafts; approved label details, return address, fee decision and final refund evidence are still missing.

Data note: This package uses synthetic merchant records and fictional owners. It documents the completed analysis and prepared operating materials; no customer message, carrier action, inspection or refund occurred.

Repairs completed

Finding in the supplied knowledge baseCompleted correction
Care page had no inbound linkAdded navigation and one approved care reply
Returns page last reviewed 2024-01-01 and lacked a usable ruleAdded the 30-day rule, decision gates and current supplied review metadata
Runbook had no owner or executable stepsAssigned document ownership to Mia and wrote the three named steps with checks and recovery
CSM had two conflicting expansionsStandardized the historical label in the glossary; actionable instructions name Mia or Alex
Index omitted essential operator materialLinked all seven canonical pages, with return links and cross-links

The care statement itself was already correct. The supplied materials do not substantiate an invented care-policy conflict; the observed conflict was role terminology, alongside missing return procedures.

The original tools were actually executed in order: knowledge-base ingestion, existing-runbook validation and support SOP generation. After completing the generated scaffold, the runbook Markdown, SOP Markdown and structured runbook each scored 100/100 across three steps and 18 structural checks. The old runbook could not be scored because it contained no steps. Re-ingestion found zero orphan pages, stale pages, missing owners and conflicting definitions across seven canonical Markdown pages. See validation evidence for the remaining acronym-candidate limitation and source map for each repair's basis.

Complete operating procedure

The procedure below is a complete review copy. The maintained source is the canonical SOP, reached from the knowledge-base index. The separate runbook provides the same three steps for use during a case.

SOP: HarborMug unused-return triage

Profile: support | Regulatory overlay: none


5W2H operating procedure

All seven sections below are complete for the supplied merchant scope.

Who

Mia owns every page in this knowledge base and the return-triage process. The supplied ownership record is SYN-OWNER-01. Alex is the merchant approver and the escalation contact; the role is never assigned to an unspecified team.

WorkResponsibleAccountableConsulted / informed
Maintain care, policy, SOP, runbook, index and glossaryMiaMiaAlex for merchant-policy decisions
Verify the order; prepare eligibility, label request and reply draftsMiaMiaAlex receives exception handoffs
Supply approved label/address; decide fees, exceptions and refund amountAlexAlexMia records the outcome
Check the pending queue and resume only when gates clearMiaMiaAlex resolves blocked decisions

A new teammate follows this procedure under Mia's ownership. This document does not create a new approval authority.

What

Scope: HarborMug domestic unused-return triage and consistent care answers for HM-BLUE-001. This process ends with a recorded triage outcome, a label-request draft and an approval handoff/reply draft. Returned-goods inspection and payment execution happen outside this procedure; record their evidence if later supplied by Alex.

Inputs: Order ID; verified delivery record and date; request date; domestic-return confirmation; reported item condition; current merchant policy; Alex's label, warehouse address and fee decision before sending return instructions; inspection disposition, approved amount and approval reference before any final refund confirmation.

Outputs: An eligibility ledger, named owner and pending reason, label request, approval handoff, customer reply draft, and snapshot/correction references. For A100 these are prepared, not sent or approved.

Care rule: Hand-wash only. Not microwave safe. No health or environmental guarantees may be added. Use Care for approved wording and Returns policy for the return decision.

When

Start when a customer requests a domestic unused return. Work on demand during Monday–Friday, 09:00–17:00 America/Los_Angeles, the supplied operating hours. The annual planning estimate is 52 cases; it is not measured volume. Review the pending queue at the start of each staffed business session as the operating convention for this SOP.

Missing order or delivery evidence blocks eligibility. Missing approved label, warehouse address or fee decision blocks return instructions. Missing inspection disposition, approval reference or approved amount blocks final refund confirmation. Keep the case pending instead of treating a blocked stage as completion.

Mia reviews the documents every 90 days and whenever Alex changes merchant policy. The supplied review date is 2026-11-03; next review is 2027-02-01. No merchant response-time commitment was supplied, so do not promise one to customers.

Where

The single canonical library is outputs/kb_after, starting at the Home index. This SOP, runbook, policy, care guide and glossary are connected by relative links. The main report is a review copy of this package.

Use the case ledger as the case record and case evidence for source references and prepared drafts. Before each edit, retain a numbered prior-state snapshot; append a correction note rather than erase the reason for the change. Keep attachments and approval references linked to the appropriate order. The workflow uses a ledger and manual handoffs; no carrier or payment connection is configured.

Why

Customers need the same care instructions and return criteria regardless of who answers. This procedure makes the decision visible, separates eligibility from approval, and prevents a draft or missing evidence from turning into a refund promise.

Regulatory overlay: None for the supplied scope. The classified data are order ID, dates, item condition and approval references; the scope excludes payment controls, card details, health information, regulated devices and EU customer data. This is a scope assumption, not a compliance certification. Mia must confirm actual data classes with the merchant before using the procedure with real records.

How

Read the runbook before starting. Follow the three steps below; they include the observable checks and recovery actions. If a gate is blocked, keep the corresponding pending state, record the reason and owner, and resume only after the named evidence arrives.

Step 1: Verify the order and dates

Open the case ledger and save its current state as a numbered snapshot before editing. Match the request to the order ID and product. Record the delivery date, request date, their evidence references, and the reported product condition. Confirm this is a domestic return; if the location is unknown, hold for Alex. Subtract the delivery calendar date from the request calendar date; do not count dispatch days or add an extra day. For A100, the supplied order record gives 2026-10-20 and 2026-11-03, so elapsed_days = 14. The source record supports the example; a live case needs a verified delivery record.

  • Owner: Mia
  • Duration: 3 minutes
  • Success: Ledger shows order_match=true, domestic=true, delivery_evidence=merchant order record, delivered=2026-10-20, requested=2026-11-03 and elapsed_days=14 for A100.
  • Failure: Ledger shows order_match=false, domestic=unknown/false, delivery_evidence=missing, delivered_date=missing, invalid_date=true or elapsed_days<0.
  • Rollback: Restore the numbered snapshot of the prior ledger values, record the correction reason in the case history, and keep the case on hold. Order verification itself is read-only.
  • Escalation: Alex; Mia records the missing or conflicting facts and stops eligibility decisions until Alex resolves them.

Recovery: If the delivery date or evidence is missing, set eligibility=hold_evidence and list exactly what is missing; do not substitute the dispatch date or today's date. If the order does not match or the dates are impossible, set eligibility=hold_evidence, retain the original source values, and ask Alex to verify the correct order/date record. Resume this step only after the corrected source is recorded.

Step 2: Record eligibility and prepare the label request

Apply the unused-return rule only after Step 1 is complete. A verified unused domestic item requested 0–30 calendar days after delivery may be marked eligible_pending_inspection. Day 30 is included because the supplied escalation rule is elapsed_days>30. Treat unopened as the supplied evidence of unused condition for A100, with inspection still pending. Set label_request=draft and ask Alex for an approved label, the warehouse return address, and a decision on the return-shipping fee. Record these as separate fields so a blocked label never becomes an automatic refund rejection.

  • Owner: Mia
  • Duration: 4 minutes
  • Success: Ledger shows eligibility=eligible_pending_inspection, unopened=true, elapsed_days=14, inspection=pending and label_request=draft for A100; label_dispatch=blocked while label/address/fee decision are missing.
  • Failure: Ledger shows used=true, condition=unknown, elapsed_days>30, approved_label=missing, warehouse_address=missing or return_shipping_fee=unconfirmed; the relevant gate remains held.
  • Rollback: Restore the prior eligibility and label fields from the numbered snapshot, keep the correction note, and discard any unsent instructions. Reopen the hold with Alex.
  • Escalation: Alex; Mia records a draft label request or policy-exception handoff in the case ledger.

Recovery: For a used item, an unknown condition, or a request after 30 days, set eligibility=hold_merchant_review and record the observed reason; do not automatically approve or reject an exception. Resume only on Alex's documented decision. For a missing label, warehouse address, or fee decision, preserve eligible_pending_inspection when supported, set label_dispatch=blocked, and keep instructions as an unsent draft. Resume the label gate only when Alex supplies all three approved details. There is no carrier integration in this process.

Step 3: Prepare the approval handoff and retain the reply draft

Mia prepares the ledger and draft handoff for Alex. Alex owns the review and records any subsequent decision. Check the order evidence, elapsed days, unused-condition statement, inspection status, approved label/address, fee decision and proposed refund basis. A completed triage package can remain pending; an approval is not implied by preparing it. A100 has no inspection result, approval reference or confirmed refund amount, so preserve refund_status=pending_merchant_approval, reply=draft and refund_executed=false. The supplied $24 product price is not a confirmed refund amount.

  • Owner: Alex
  • Duration: 3 minutes
  • Success: Ledger shows refund_status=pending_merchant_approval, approval_reference=missing, refund_amount=unconfirmed, reply=draft and refund_executed=false for A100; handoff recipient field set to Alex.
  • Failure: Ledger shows approval_reference=missing, refund_amount=unconfirmed or inspection=pending when anyone attempts a final approval or refund-confirmation reply; final_confirmation=blocked.
  • Rollback: Withdraw the unsent draft, restore incorrect ledger fields from the numbered snapshot and retain the correction history. An actual refund cannot be rolled back here; escalate to Alex if one was executed elsewhere.
  • Escalation: Alex; if Alex is unavailable, Mia retains the pending state and reviews the queue during the next staffed business session. No substitute approver is authorized by this SOP.

Recovery: If approval evidence or the amount is missing, keep final_confirmation=blocked and give Alex the exact missing fields. If inspection has not happened, do not label the return accepted; keep inspection=pending. Resume a final decision only after Alex records the decision reference, approved amount and inspection disposition. No payment execution occurs in this process. If an instruction was already sent in error, the draft cannot retract it: record what was sent and ask Alex to approve corrective communication; do not falsely mark the message unsent.

How-much

The active handling estimate is 3 + 4 + 3 = 10 minutes per case. At the supplied labor rate of $30/hour, estimated labor is 10 ÷ 60 × $30 = $5 per case. At 52 cases per year, the planning estimate is 520 minutes (8 hours 40 minutes) and $260 in labor annually.

These are planning estimates, not measured performance. Waiting for delivery evidence, label details, inspection or Alex's approval is additional elapsed time. Return postage, label fees and actual refunds are unconfirmed and excluded. The product's $4 internal shipping cost and $5 outbound customer shipping charge are not authority for a return-fee deduction.

Customer impact and escalation

This procedure handles an individual return request. Customer replies remain drafts in this case package. No broadcast or engineering escalation is required by the supplied merchant facts.

TriggerImmediate actionOwner / resume condition
Missing evidence, wrong order or impossible datesHold eligibility; retain source valuesAlex resolves source evidence; Mia repeats Step 1
Used, unknown condition, late or non-domestic requestHold for merchant review; no automatic exceptionAlex documents a decision; Mia records it
Label, warehouse address or fee decision missingBlock return instructions; retain draftAlex supplies all approved details
Inspection, approval reference or refund amount missingBlock final confirmation; keep approval pendingAlex supplies the decision and supporting evidence
Alex unavailableKeep pending; review next staffed business sessionMia tracks the case; Alex remains the approver
Incorrect ledger edit or unsent replyRestore snapshot; withdraw draft; record correctionMia corrects, Alex reviews any policy issue
Message sent or refund executed elsewhere in errorRecord what happened; no pretend rollbackAlex determines the corrective action

No escalation response SLA has been approved. Record queue owner and pending reason; do not invent one.

Document control

Version 1.0 replaces the incomplete return instructions and ambiguous role references. Mia maintains the pages; Alex owns merchant-policy decisions. The supplied review cycle is 90 days. The prior pages remain source evidence, not current operator instructions.

Related: Home · Runbook · Glossary · A100 case.

Completed A100 case and customer drafts

A100: completed triage package

Home · SOP · Runbook · Policy · Glossary

The supplied order record lists A100, delivered 2026-10-20, requested 2026-11-03, condition unopened. The scenario is a domestic unused return. The dates differ by 14 calendar days, inside the 30-day window. Record eligible_pending_inspection. The delivery record is supplied business evidence, not a newly obtained carrier confirmation.

FieldPrepared state
Owner / next decision ownerMia / Alex
InspectionPending; no inspection result supplied
Label requestDraft; prepared for Alex, unsent
Approved label / warehouse addressMissing / missing
Return-shipping feeUnconfirmed; no deduction authorized
Label dispatchBlocked
Refund statusPending merchant approval
Approval reference / refund amountMissing / unconfirmed
Reply / final confirmationDraft / blocked
Refund executedFalse

The case ledger contains these values. The initial snapshot provides a starting point before later edits. No earlier merchant ledger was supplied, so no prior operational state has been reconstructed.

Internal handoff draft to Alex

Order A100: delivered 20 October 2026; return requested 3 November 2026; 14 elapsed days; reported unopened. Provisional eligibility is eligible_pending_inspection. Please supply an approved return label, the warehouse return address and the return-shipping fee decision before customer instructions are released. Inspection disposition is still pending. Please record your decision reference and confirmed refund amount before any final refund confirmation. No return instruction, customer reply or payment has been sent or executed.

Customer reply draft: return request

“Thanks for contacting HarborMug about order A100. Your return request was made 14 days after delivery. Based on your report that the mug is unopened, it falls within our 30-day unused-return window, subject to inspection and approval. We are checking the return label, return address and any return-shipping fee before providing instructions. Please wait for those instructions before sending the mug back. A refund has not yet been approved.”

Customer reply draft: care question

“Please hand-wash your HarborMug. It is not microwave safe.”

Holding reply draft when evidence is missing

“We need to confirm the delivery details and item condition before deciding the next step. Your request is still under review. We will confirm the return instructions and any applicable return-shipping fee before you send the item back.”

Customer reply draft for a used item or late request

“Your request needs a merchant review because of the item condition or timing. We have not approved a return or refund. Please wait for the review outcome before sending the item back.”

Mia must select the specific reason before using the last draft. All text above is unsent. No specific customer-response deadline has been approved.

Finished package

Mia owns the library and its next review on 2027-02-01. Alex owns the outstanding merchant decisions. A100 must remain pending until those decisions and inspection evidence are recorded; the $24 selling price does not establish the refund amount.

Merchant business data is synthetic. Website observations, when present, come from the public URLs listed in the report.

08

Risks and operating notes

Known limits

It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

Evidence and review

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.

Before acting on the result

Use authorized inputs and keep secrets out of prompts. Review customer-facing claims, calculations, code changes, and any proposed external action before applying them.

Frequently asked questions

What does it do, and what is the advantage?

Author SOP drafts, validate runbook steps, and audit a local knowledge-base export. Three Python tools check 5W2H completeness, owners, observable success, rollback, stale pages, and broken knowledge links.

How do I install it and start?

Choose the method for your agent and install the complete package, not just the displayed SKILL.md. Local Markdown or JSON documents, ownership metadata, review dates, and documented process rules. Start a new agent session and explicitly ask to use knowledge-ops. Try one use case below with a small sample and review the output.

Which situations is it useful for?

Draft a supplier-onboarding SOP from approved facts; Check a support runbook for missing owners and rollback; Audit stale or orphaned pages in a local wiki export

What limitations should I know?

It reads local exports, not live Notion or Confluence accounts. Completeness scores do not certify that a procedure works in practice.

What was checked for this page?

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.

No reviews yet.

Leave a review

Rate every dimension, then share your real experience.

Task effectiveness
Setup and ease of use
Reliability and guardrails
Documentation clarity
Time to first useful result
Author / maintainer

Alireza Rezvani

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.