方法与优势
三个工具分别负责 SOP 草稿、操作手册验证和知识库审查,检查 5W2H 信息、负责人、可观察的完成结果与回退说明。团队可以据此把“处理异常”这类模糊指令,补成知道由谁、在什么条件下、怎样完成的步骤。
对团队已有文档进行知识库审查与 SOP 编写改进。这项 Skill 包含检查流程完整性、操作步骤和知识库维护情况的 Python 工具,可以帮助发现负责人缺失、完成标准不清、文档过期或链接失效等问题,让客服和运营在照着文档执行前,先知道哪些地方需要补齐。
知识库难用,往往不是文档数量不够,而是步骤漏了关键条件,或旧内容与当前规则混在一起。Knowledge Ops 读取导出的 Markdown 或 JSON,既检查操作说明,也检查负责人、复查日期和文档关联情况。
适合清理客服知识库、检查操作手册或起草新 SOP。结果可以帮助安排补文档的优先级,但完整性评分不代表流程已经实际跑通。安装包处理的是导出资料,不会直接连接在线 Notion 或 Confluence。
三个工具分别负责 SOP 草稿、操作手册验证和知识库审查,检查 5W2H 信息、负责人、可观察的完成结果与回退说明。团队可以据此把“处理异常”这类模糊指令,补成知道由谁、在什么条件下、怎样完成的步骤。
通过复查日期和链接检查,找出整套知识库中的维护缺口。团队可以先处理无人负责、长期未更新或关联失效的文档,再让实际执行者验证修订后的流程,避免只把格式补完整却没有解决操作问题。
本地 Markdown 或 JSON 文档、归属元数据、复核日期和流程规则。
使用支持 Skill 且能访问文件的 Agent。随包 Python 辅助工具需要 Python 3;提供数据前先查看样例结构。
它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。
将指令复制给 Codex 或 Claude Code,让助手从原始仓库下载固定提交,安装完整文件并检查所需依赖。
请在我当前使用的应用中安装 knowledge-ops,直接执行文件安装,不要只解释步骤。
原始仓库:https://github.com/alirezarezvani/claude-skills.git
固定提交:6d2f02ea077eead1bee5411a31bcc6db5a11a70c
Skill 路径:business-operations/skills/knowledge-ops
1. 将这个版本下载到新目录。执行随包脚本前,先阅读 SKILL.md 和安装参考文件,不替换成其他作者的包。
2. Codex 安装到 ~/.agents/skills/knowledge-ops,Claude Code 安装到 ~/.claude/skills/knowledge-ops,只安装到我正在使用的应用。安装完整 Skill 文件夹,保留 scripts、references、assets 和随包声明;将仓库根目录许可证一并保留。先检查所有目标目录;已有安装时,说明差异后再决定是否替换。
3. 比较来源和安装目录的文件清单、文件哈希,检查文档要求的运行时、依赖及外部连接。只配置此 Skill 所需的本地依赖,适用时使用隔离环境;账号登录由我在本地完成,不把凭据贴进聊天。
4. 返回来源提交、实际安装路径、文件检查结果及尚未完成的运行环境配置,说明如何调用 knowledge-ops。文件复制与应用发现分别检查,需要时新建会话。不要执行生产任务,也不要把安装完成说成已确认业务效果。以下为已核对版本未经改写的 SKILL.md。安装完整包才能保留引用的脚本、素材和指引。下方启动提示词为 EcomAgentTools 编写的示例。
---
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.
以下是主要功能的用例提示词,可以直接复制使用。
根据获批事实起草供应商入驻 SOP 适用于:根据获批事实起草供应商入驻 SOP。请准备:本地 Markdown 或 JSON 文档、归属元数据、复核日期和流程规则。
请使用已安装的 knowledge-ops Skill。任务:根据获批事实起草供应商入驻 SOP。输入:[INPUT]。限制:[CONSTRAINTS]。先检查缺失信息,再输出可审查的结果、依据、假设和下一步。它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。[INPUT][CONSTRAINTS]检查客服操作手册缺失的负责人和回滚步骤 适用于:检查客服操作手册缺失的负责人和回滚步骤。请准备:本地 Markdown 或 JSON 文档、归属元数据、复核日期和流程规则。
请使用已安装的 knowledge-ops Skill。任务:检查客服操作手册缺失的负责人和回滚步骤。输入:[INPUT]。限制:[CONSTRAINTS]。先检查缺失信息,再输出可审查的结果、依据、假设和下一步。它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。[INPUT][CONSTRAINTS]审查本地知识库导出中的过期或孤立页面 适用于:审查本地知识库导出中的过期或孤立页面。请准备:本地 Markdown 或 JSON 文档、归属元数据、复核日期和流程规则。
请使用已安装的 knowledge-ops Skill。任务:审查本地知识库导出中的过期或孤立页面。输入:[INPUT]。限制:[CONSTRAINTS]。先检查缺失信息,再输出可审查的结果、依据、假设和下一步。它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。[INPUT][CONSTRAINTS]输入四页模拟知识库,包含孤立护理页、过期退货说明、缺负责人手册及含义冲突的术语。目标是让客服能按步骤处理退货,也能知道谁维护每页。
案例输入资料: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.下方直接展示本次 Prompt 产生的主要文件,保留实际输出语言。
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.
| Finding in the supplied knowledge base | Completed correction |
|---|---|
| Care page had no inbound link | Added navigation and one approved care reply |
| Returns page last reviewed 2024-01-01 and lacked a usable rule | Added the 30-day rule, decision gates and current supplied review metadata |
| Runbook had no owner or executable steps | Assigned document ownership to Mia and wrote the three named steps with checks and recovery |
| CSM had two conflicting expansions | Standardized the historical label in the glossary; actionable instructions name Mia or Alex |
| Index omitted essential operator material | Linked 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.
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.
Profile: support | Regulatory overlay: none
All seven sections below are complete for the supplied merchant scope.
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.
| Work | Responsible | Accountable | Consulted / informed |
|---|---|---|---|
| Maintain care, policy, SOP, runbook, index and glossary | Mia | Mia | Alex for merchant-policy decisions |
| Verify the order; prepare eligibility, label request and reply drafts | Mia | Mia | Alex receives exception handoffs |
| Supply approved label/address; decide fees, exceptions and refund amount | Alex | Alex | Mia records the outcome |
| Check the pending queue and resume only when gates clear | Mia | Mia | Alex resolves blocked decisions |
A new teammate follows this procedure under Mia's ownership. This document does not create a new approval authority.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| Trigger | Immediate action | Owner / resume condition |
|---|---|---|
| Missing evidence, wrong order or impossible dates | Hold eligibility; retain source values | Alex resolves source evidence; Mia repeats Step 1 |
| Used, unknown condition, late or non-domestic request | Hold for merchant review; no automatic exception | Alex documents a decision; Mia records it |
| Label, warehouse address or fee decision missing | Block return instructions; retain draft | Alex supplies all approved details |
| Inspection, approval reference or refund amount missing | Block final confirmation; keep approval pending | Alex supplies the decision and supporting evidence |
| Alex unavailable | Keep pending; review next staffed business session | Mia tracks the case; Alex remains the approver |
| Incorrect ledger edit or unsent reply | Restore snapshot; withdraw draft; record correction | Mia corrects, Alex reviews any policy issue |
| Message sent or refund executed elsewhere in error | Record what happened; no pretend rollback | Alex determines the corrective action |
No escalation response SLA has been approved. Record queue owner and pending reason; do not invent one.
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.
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.
| Field | Prepared state |
|---|---|
| Owner / next decision owner | Mia / Alex |
| Inspection | Pending; no inspection result supplied |
| Label request | Draft; prepared for Alex, unsent |
| Approved label / warehouse address | Missing / missing |
| Return-shipping fee | Unconfirmed; no deduction authorized |
| Label dispatch | Blocked |
| Refund status | Pending merchant approval |
| Approval reference / refund amount | Missing / unconfirmed |
| Reply / final confirmation | Draft / blocked |
| Refund executed | False |
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.
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.
“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.”
“Please hand-wash your HarborMug. It is not microwave safe.”
“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.”
“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.
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.
案例中的商家经营资料为模拟数据;涉及网站检查时,报告中的页面观察来自所列公开网址。
它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。
核对源码及随包文件:GitHub 6d2f02ea077e。本次为静态审查,不代表已完成安装运行或业务效果测试。
使用获授权输入,不把密钥贴入提示词。采用前检查面向客户的声明、计算、代码改动及任何拟议的外部操作。
起草 SOP、校验操作手册步骤,并审查本地知识库导出。三个 Python 工具检查 5W2H 完整度、负责人、成功信号、回滚、过期页面和知识链接。
按实际 Agent 选择方式,安装完整包,不要只复制页面中的 SKILL.md。 本地 Markdown 或 JSON 文档、归属元数据、复核日期和流程规则。 开启新 Agent 会话,明确要求使用 knowledge-ops。先用小型样本尝试下方一个场景,并检查输出。
根据获批事实起草供应商入驻 SOP;检查客服操作手册缺失的负责人和回滚步骤;审查本地知识库导出中的过期或孤立页面
它读取本地导出,不直接访问 Notion 或 Confluence;完整度分数不证明流程实际可行。
核对源码及随包文件:GitHub 6d2f02ea077e。本次为静态审查,不代表已完成安装运行或业务效果测试。
核对源码及随包文件:GitHub 6d2f02ea077e。本次为静态审查,不代表已完成安装运行或业务效果测试。
暂无评论。