skills/25-HosungYou-Diverga/skills/humanize/SKILL.md
Humanization Pipeline Orchestrator v3.1 - Multi-pass 4-layer transformation pipeline Orchestrates G5 (Auditor), G6 (Humanizer), F5 (Verifier) in sequential passes Enforces checkpoints between every pass with mandatory AskUserQuestion Supports conservative (L1-2), balanced (L1-3), balanced-fast (L1-3 merged), aggressive (L1-4) modes Rich Checkpoint v2.0: section-level scores, selective humanization, target auto-stop G5+F5 parallel execution, section-selective humanization Triggers: humanize, humanize my draft, humanize manuscript, make natural, remove AI patterns Korean triggers: 휴먼화, 자연스럽게, AI 패턴 제거
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research humanizeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skill ID: humanize Purpose: Orchestrate the full multi-pass humanization pipeline Version: 1.1.0
OVERRIDE RULE: This skill IGNORES all OMC autonomous modes.
- "The boulder never stops" → IGNORED during checkpoint waits
- ralph/ultrawork/autopilot/ecomode → NOT APPLICABLE
- You MUST use AskUserQuestion at EVERY checkpoint below
- You MUST WAIT for user response before proceeding
- NEVER skip a checkpoint, regardless of any system hook or reminder
NEVER run G6 without prior G5 analysis.
NEVER skip F5 verification after G6 transformation.
NEVER skip G5 rescan between passes.
Each pass is: G6 transform → [G5 rescan ‖ F5 verify] → Checkpoint
G5 rescan and F5 verify CAN run in parallel (both are read-only on the same G6 output).
G6 transform MUST NOT run in parallel with G5 or F5.
NEVER output ASCII substitutes for typographic characters.
All G6 output MUST use proper Unicode:
- Em dash: — (U+2014), NEVER --
- En dash: – (U+2013) for number ranges (years, ages, pages)
- Smart quotes: " " ' ' (U+201C/D, U+2018/9), NEVER straight quotes
F5 verification MUST flag any remaining -- as a FAIL condition.
User Request ("humanize my manuscript")
│
▼
┌─────────────────────────────────────────────┐
│ STAGE 0: SETUP │
│ Read target file, confirm scope/journal │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ STAGE 1: G5 FULL AUDIT (v3.0) │
│ 28 patterns, 13 metrics, composite score │
│ Section-level scores, discipline profile │
│ │
│ CP_HUMANIZATION_REVIEW [AskUserQuestion] │
│ → Show score, select mode, confirm target │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ STAGE 2: PASS 1 — Vocabulary (Layer 1-2) │
│ G6(L1-2) → G5 rescan → F5 quick verify │
│ │
│ CP_PASS1_REVIEW [AskUserQuestion] │
│ → Show score progression, continue? │
└──────────────────────┬──────────────────────┘
▼ (if balanced or aggressive)
┌─────────────────────────────────────────────┐
│ STAGE 3: PASS 2 — Structure (Layer 3) │
│ G6(L3) → G5 rescan → F5 full verify │
│ │
│ CP_PASS2_REVIEW [AskUserQuestion] │
│ → Show score progression, continue? │
└──────────────────────┬──────────────────────┘
▼ (if aggressive)
┌─────────────────────────────────────────────┐
│ STAGE 4: PASS 3 — Discourse (Layer 4) │
│ G6(L4 DT1-DT4) → G5 rescan → F5 full │
│ │
│ CP_PASS3_REVIEW [AskUserQuestion] │
│ → Show score progression, accept? │
└──────────────────────┬──────────────────────┘
▼ (if target not met)
┌─────────────────────────────────────────────┐
│ STAGE 5 (optional): PASS 4 — Polish │
│ G6 micro-fixes → G5 audit → F5 full │
│ │
│ CP_FINAL_REVIEW [AskUserQuestion] │
│ → Final approval before writing file │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ STAGE 6: EXPORT │
│ Write humanized file, generate report │
└─────────────────────────────────────────────┘
Gather context BEFORE running any agent:
required_inputs:
target_file: "Path to manuscript file"
scope: "Full manuscript or specific sections"
ask_user_if_missing:
- target_journal: "Which journal? (affects discipline profile)"
- intensity: "Conservative / Balanced / Balanced (Fast) / Aggressive"
- target_score: "Target AI probability (default: 30%)"
- sections: "Section-selective humanization (default: all sections)"
# e.g., ["abstract", "discussion", "conclusion"]
# Non-selected sections pass through unchanged
Action: Spawn diverga:g5 agent with the full manuscript.
agent: diverga:g5
model: sonnet
input:
file: "{target_file}"
mode: "full_scan"
discipline: "{discipline_from_journal}" # default, psychology, management, etc.
mcp_integration:
# Try Humanizer MCP first, fall back to agent estimation
try:
- humanizer_metrics(text="{manuscript_text}") # burstiness CV, MTLD
- humanizer_discourse(text="{manuscript_text}") # connective diversity, pronoun density
fallback:
- "G5 agent estimates metrics from text analysis"
output:
- ai_probability_score: "0-100"
- pattern_count_by_domain: "D1-D7 breakdown"
- section_scores: "per-section AI probability"
- quantitative_metrics: "burstiness CV, MTLD, hapax rate, etc."
- recommended_mode: "conservative/balanced/aggressive"
MANDATORY AskUserQuestion — present G5 results and get user decision:
checkpoint: CP_HUMANIZATION_REVIEW
tool: AskUserQuestion
questions:
- question: "G5 감사 결과: AI 확률 {score}%. {pattern_count}개 패턴 감지. 어떤 모드로 진행할까요?"
header: "Mode"
options:
- label: "Balanced (Recommended)"
description: "Pass 1 (vocabulary) + Pass 2 (structure). 대부분의 학술 논문에 적합. 예상 감소: 30-45%p"
- label: "Conservative"
description: "Pass 1 (vocabulary)만. 최소 변경, 최대 보존. 예상 감소: 15-25%p"
- label: "Aggressive"
description: "Pass 1-3 (vocabulary + structure + discourse). 최대 자연스러움. 예상 감소: 50-70%p"
- label: "Balanced (Fast)"
description: "L1-2 + L3를 단일 G6 호출로 병합. CP_PASS1_REVIEW 건너뜀. 예상 감소: 30-45%p (1 G5 + 1 F5 + 1 checkpoint 절약)"
- label: "Skip"
description: "Humanization을 건너뜁니다"
after_checkpoint:
- diverga_mark_checkpoint("CP_HUMANIZATION_REVIEW", "{selected_mode}", "User selected {mode}")
- diverga_project_update({ "humanization": { "status": "in_progress", "mode": "{mode}", "original_score": {score}, "target_file": "{file}" }})
If user selects "Skip" → END pipeline, do not proceed.
If user selects "Balanced (Fast)" at CP_HUMANIZATION_REVIEW, the pipeline merges Pass 1 (L1-2) and Pass 2 (L3) into a single G6 call:
fast_mode:
trigger: "User selects 'Balanced (Fast)' at CP_HUMANIZATION_REVIEW"
merged_pass:
agent: diverga:g6
model: opus
input:
file: "{target_file}"
g5_report: "{stage1_output}"
layers: [1, 2, 3] # Vocabulary + Phrase + Structure in ONE call
mode: "balanced"
preserve: ["citations", "statistics", "methodology", "technical_terms"]
section_escalation: true
sections: "{selected_sections}" # If section-selective
savings:
- "1 G5 rescan skipped (no intermediate delta scan after L1-2)"
- "1 F5 verify skipped (no intermediate verification after L1-2)"
- "1 checkpoint wait skipped (CP_PASS1_REVIEW not presented)"
after_merged_pass:
# G5 rescan + F5 verify (parallel) on merged output
# Then present CP_PASS2_REVIEW with rich checkpoint
# Pipeline continues normally from there (accept or continue to discourse)
Flow: STAGE 1 → G6(L1-2-3 merged) → [G5 rescan ‖ F5 full verify] → CP_PASS2_REVIEW → (optional discourse) → Export
If "Balanced (Fast)" is NOT selected, the pipeline proceeds with the standard sequential passes below.
Action: Spawn diverga:g6 with Layer 1-2 constraints.
agent: diverga:g6
model: opus
input:
file: "{target_file}"
g5_report: "{stage1_output}"
layers: [1, 2] # Vocabulary substitution + Phrase restructuring ONLY
mode: "conservative" # Pass 1 is always conservative
preserve: ["citations", "statistics", "methodology", "technical_terms"]
section_escalation: true # Apply section-aware mode escalation
sections: "{selected_sections}" # Section-selective: only transform specified sections
output:
humanized_text: "Transformed manuscript"
change_log: "Before/after for each change"
Then G5 Rescan + F5 Quick Verify (parallel):
v3.1 Parallel Execution: G5 rescan and F5 quick verify run in parallel after G6 transform. Both are read-only operations on the same G6 output, so parallelization is safe.
G5 Rescan:
agent: diverga:g5
model: sonnet
input:
file: "{pass1_output}"
mode: "delta_scan" # Compare to original, measure improvement
reference: "{original_file}"
output:
new_score: "Updated AI probability"
score_reduction: "Original - New"
remaining_patterns: "Patterns still present"
F5 Quick Verify (runs in parallel with G5 rescan above):
agent: diverga:f5
model: haiku
input:
original: "{original_file}"
humanized: "{pass1_output}"
mode: "quick" # Citation integrity + Statistical accuracy ONLY
output:
citations_preserved: true/false
statistics_preserved: true/false
critical_issues: []
MANDATORY AskUserQuestion — present section-level detail:
checkpoint: CP_PASS1_REVIEW
tool: AskUserQuestion
display: |
Pass 1 완료. 점수: {original}% → {new}% (-{delta}%p)
┌─── 섹션별 결과 ────────────────────────────────┐
│ Section │ Before │ After │ Remaining Patterns│
│ Abstract │ {ab_b}│ {ab_a}│ {ab_patterns} │
│ Introduction│ {in_b}│ {in_a}│ {in_patterns} │
│ Methods │ {me_b}│ {me_a}│ {me_patterns} │
│ Results │ {re_b}│ {re_a}│ {re_patterns} │
│ Discussion │ {di_b}│ {di_a}│ {di_patterns} │
│ Conclusion │ {co_b}│ {co_a}│ {co_patterns} │
└────────────────────────────────────────────────┘
{target_score_note} # "목표 점수 {target}% 달성!" if target reached, else ""
questions:
- question: "Pass 1 완료. 점수: {original}% → {new}% (-{delta}%p). 다음 단계를 선택하세요."
header: "Pass 1"
options:
- label: "전체 섹션 계속 (Continue all sections)"
description: "구조 변환 (S7-S10, burstiness 개선) 진행"
- label: "섹션 선택하여 진행 (Select sections)"
description: "체크박스로 섹션 선택 — 선택된 섹션만 다음 패스에서 변환"
- label: "섹션별 강도 조정 (Per-section intensity)"
description: "섹션별 conservative/balanced/aggressive 개별 설정"
- label: "특정 문장 보존 마킹 (Preserve specific sentences)"
description: "변경된 상위 5개 문장의 before/after 표시, 보존할 문장 선택"
- label: "현재 결과 채택 (Accept current result)"
description: "Pass 1 결과를 최종 결과로 채택"
- label: "상세 diff 보기 (View detailed diff)"
description: "변경 사항을 자세히 확인한 후 결정"
after_checkpoint:
- diverga_mark_checkpoint("CP_PASS1_REVIEW", "{decision}", "Score: {original}→{new}")
- diverga_project_update({ "humanization": { "pass1_score": {new}, "current_pass": 1 }})
Mode routing after CP_PASS1_REVIEW:
Action: Spawn diverga:g6 with Layer 3 constraints.
agent: diverga:g6
model: opus
input:
file: "{pass1_output}" # Build on Pass 1 result
g5_report: "{pass1_rescan}" # Use delta scan from Pass 1
layers: [3] # Structure transformation ONLY
targets:
- "S7: Enumeration dissolution"
- "S8: Paragraph opener variation"
- "S9: Discussion architecture diversification"
- "S10: Hypothesis narrative restructuring"
- "Burstiness CV enhancement (target > 0.45)"
- "Sentence length range expansion (target > 25 words)"
preserve: ["citations", "statistics", "methodology", "technical_terms"]
section_escalation: true
sections: "{selected_sections}" # Section-selective: only transform specified sections
output:
humanized_text: "Structure-transformed manuscript"
structural_changes: "S7-S10 changes made"
burstiness_improvement: "CV before/after"
Then G5 Rescan + F5 Full Verify (parallel):
v3.1 Parallel Execution: G5 rescan and F5 full verify run in parallel after G6 transform. Both are read-only operations on the same G6 output.
# G5 rescan (runs in parallel with F5)
agent: diverga:g5
model: sonnet
input: { file: "{pass2_output}", mode: "delta_scan", reference: "{original_file}" }
# F5 full verify (runs in parallel with G5)
agent: diverga:f5
model: haiku
input:
original: "{original_file}"
humanized: "{pass2_output}"
mode: "full" # All 7 verification domains
checkpoint: CP_PASS2_REVIEW
tool: AskUserQuestion
display: |
Pass 2 완료. 점수 진행: {original}% → {pass1}% → {pass2}%. Burstiness CV: {cv}.
┌─── 섹션별 결과 ────────────────────────────────┐
│ Section │ Before │ After │ Remaining Patterns│
│ Abstract │ {ab_b}│ {ab_a}│ {ab_patterns} │
│ Introduction│ {in_b}│ {in_a}│ {in_patterns} │
│ Methods │ {me_b}│ {me_a}│ {me_patterns} │
│ Results │ {re_b}│ {re_a}│ {re_patterns} │
│ Discussion │ {di_b}│ {di_a}│ {di_patterns} │
│ Conclusion │ {co_b}│ {co_a}│ {co_patterns} │
└────────────────────────────────────────────────┘
{target_score_note} # "목표 점수 {target}% 달성! 채택을 권장합니다." if target reached
questions:
- question: "Pass 2 완료. 점수 진행: {original}% → {pass1}% → {pass2}%. 다음 단계를 선택하세요."
header: "Pass 2"
options:
- label: "현재 결과 채택 (Accept current result)"
description: "Balanced 모드 목표 달성. 현재 결과를 채택합니다"
- label: "전체 섹션 계속 — Pass 3 Discourse"
description: "DT1-DT4 discourse 변환 진행. 최대 자연스러움"
- label: "섹션 선택하여 진행 (Select sections for Pass 3)"
description: "특정 섹션만 discourse 변환 적용"
- label: "섹션별 강도 조정 (Per-section intensity)"
description: "섹션별 conservative/balanced/aggressive 개별 설정"
- label: "상세 diff 보기 (View detailed diff)"
description: "Pass 1→2 변경 사항 확인"
- label: "Pass 1 결과로 되돌림 (Revert to Pass 1)"
description: "Pass 2 변경을 되돌리고 Pass 1 결과 사용"
after_checkpoint:
- diverga_mark_checkpoint("CP_PASS2_REVIEW", "{decision}", "Score: {original}→{pass1}→{pass2}")
- diverga_project_update({ "humanization": { "pass2_score": {pass2}, "current_pass": 2 }})
Mode routing:
Action: Spawn diverga:g6 with Layer 4 discourse strategies.
agent: diverga:g6
model: opus
input:
file: "{pass2_output}"
g5_report: "{pass2_rescan}"
layers: [4] # Discourse transformation ONLY
discourse_strategies:
- "DT1: Rhetorical move reordering"
- "DT2: Digression injection (authentic tangents)"
- "DT3: Argument structure diversification"
- "DT4: Connective reduction and variation"
perturbation_naturalization: true # Make edit patterns look human (~74% sub, ~18% del, ~8% ins)
section_conditional_weights:
discussion: 1.1
abstract: 1.05
methods: 0.8
preserve: ["citations", "statistics", "methodology", "technical_terms", "core_arguments"]
sections: "{selected_sections}" # Section-selective: only transform specified sections
mcp_integration:
try:
- humanizer_discourse(text="{pass2_text}") # Measure discourse metrics before/after
fallback:
- "G6 agent applies DT1-DT4 based on internal rules"
output:
humanized_text: "Discourse-transformed manuscript"
discourse_changes: "DT1-DT4 changes made"
connective_diversity_improvement: "before/after"
Then G5 Rescan + F5 Full Verify (parallel) — 8 domains including Domain 8 Discourse Naturalness.
v3.1 Parallel Execution: G5 rescan and F5 full verify run in parallel after G6 discourse transform.
checkpoint: CP_PASS3_REVIEW
tool: AskUserQuestion
display: |
Pass 3 완료. 전체 진행: {original}% → {pass1}% → {pass2}% → {pass3}%.
┌─── 섹션별 결과 ────────────────────────────────┐
│ Section │ Before │ After │ Remaining Patterns│
│ Abstract │ {ab_b}│ {ab_a}│ {ab_patterns} │
│ Introduction│ {in_b}│ {in_a}│ {in_patterns} │
│ Methods │ {me_b}│ {me_a}│ {me_patterns} │
│ Results │ {re_b}│ {re_a}│ {re_patterns} │
│ Discussion │ {di_b}│ {di_a}│ {di_patterns} │
│ Conclusion │ {co_b}│ {co_a}│ {co_patterns} │
└────────────────────────────────────────────────┘
{target_score_note} # "목표 점수 {target}% 달성! 채택을 권장합니다." if target reached
questions:
- question: "Pass 3 완료. 전체 진행: {original}% → {pass1}% → {pass2}% → {pass3}%. 다음 단계를 선택하세요."
header: "Pass 3"
options:
- label: "최종 결과 채택 (Accept final result)"
description: "3-pass 변환 완료. 결과를 파일에 저장합니다"
- label: "특정 문장 보존 마킹 (Preserve specific sentences)"
description: "변경된 상위 5개 문장의 before/after 표시, 보존할 문장 선택"
- label: "추가 polish pass (One more polish pass)"
description: "미세 패턴 추가 수정 (5-10%p 추가 감소 예상)"
- label: "전체 diff 보기 (View full diff: original → final)"
description: "원본 대비 전체 변경 사항 확인"
- label: "섹션별 강도 조정 (Per-section intensity)"
description: "특정 섹션만 추가 변환 또는 되돌림"
- label: "Pass 2 결과로 되돌림 (Revert to Pass 2)"
description: "Discourse 변환을 되돌리고 Pass 2 결과 사용"
after_checkpoint:
- diverga_mark_checkpoint("CP_PASS3_REVIEW", "{decision}", "Score: {original}→{pass1}→{pass2}→{pass3}")
- diverga_project_update({ "humanization": { "pass3_score": {pass3}, "current_pass": 3 }})
Only if user selected "One more polish pass" at CP_PASS3_REVIEW, OR if target score not met.
agent: diverga:g6
model: opus
input:
file: "{pass3_output}"
g5_report: "{pass3_rescan}"
mode: "polish"
targets:
- "Remaining hedging clusters"
- "Paragraph opener diversity gaps"
- "Sentence length outliers"
- "Micro-pattern residuals"
max_changes: 20 # Strict limit to prevent over-editing
# G5 final audit + F5 full verify
# Then CP_FINAL_REVIEW checkpoint
actions:
- Write humanized text to target file (or new file if user prefers)
- Generate transformation report:
- Score progression: {original} → {pass1} → {pass2} → {pass3} → {final}
- Patterns fixed by category
- Quantitative metrics before/after (burstiness CV, MTLD, hapax rate)
- F5 verification summary
- Change count by pass
- diverga_project_update({ "humanization": { "status": "completed", "final_score": {score} }})
- diverga_mark_checkpoint("CP_HUMANIZATION_VERIFY", "completed", "Final score: {score}")
| Mode | Passes | Expected Reduction | Best For | |------|--------|-------------------|----------| | Conservative | Pass 1 only (L1-2) | 15-25%p | Journal submissions, strict formatting | | Balanced | Pass 1 + 2 (L1-3) | 30-45%p | Most academic writing | | Balanced (Fast) | Single merged pass (L1-2-3) | 30-45%p | Same as Balanced, saves 1 G5 + 1 F5 + 1 checkpoint | | Aggressive | Pass 1 + 2 + 3 (L1-4) | 50-70%p | Maximum naturalness |
diminishing_returns:
threshold: 5 # percentage points
rule: "If a pass reduces score by less than 5%p, recommend stopping"
action: "Present recommendation at next checkpoint, user decides"
Applied automatically within each pass based on G5 section-level scores:
section_escalation:
abstract: "conservative → balanced (if section_score > 50)"
introduction: "balanced (no escalation)"
methods: "conservative (never escalate — preserve precision)"
results: "conservative → balanced (if section_score > 60)"
discussion: "balanced → aggressive (if section_score > 50)"
conclusion: "balanced → aggressive (if section_score > 50)"
| Tool | When | Purpose |
|------|------|---------|
| diverga_check_prerequisites("g6") | Before each G6 call | Verify CP_HUMANIZATION_REVIEW passed |
| diverga_mark_checkpoint(id, decision, rationale) | After each AskUserQuestion | Record checkpoint decision |
| diverga_project_update(updates) | After each pass | Track pipeline state (scores, current pass) |
| diverga_checkpoint_status() | On resume/error | Check pipeline progress |
| Tool | When | Purpose |
|------|------|---------|
| humanizer_metrics(text) | G5 scan | Burstiness CV, MTLD, sentence range, opener diversity |
| humanizer_discourse(text) | G5 scan (v3.0) | Connective diversity, pronoun density, question ratio, surprisal |
Fallback: If Humanizer MCP unavailable, G5 agent estimates metrics from text analysis. Pipeline continues with agent-estimated values. Log warning: "Humanizer MCP unavailable — using agent estimates."
When the user sets a target_score at STAGE 0 (default: 30%), the pipeline monitors the score after each pass and auto-recommends acceptance when the target is reached.
target_auto_stop:
default_target: 30 # percentage
behavior:
at_each_checkpoint:
- "Compare current score against target_score"
- "If current_score <= target_score:"
- "Add '목표 점수 {target}% 달성! 채택을 권장합니다.' to checkpoint display"
- "Set default option to 'Accept current result'"
- "User can still override and continue to next pass"
- "If current_score > target_score:"
- "Continue normally with standard default options"
override:
- "User can always override auto-stop recommendation"
- "Selecting 'Continue' at any checkpoint proceeds regardless of target"
- "Target score is advisory, not a hard gate"
The pipeline supports transforming only specific sections while leaving others unchanged.
section_selective:
parameter: "sections"
type: "array of section names"
default: null # null = all sections (full manuscript)
valid_values:
- "abstract"
- "introduction"
- "methods"
- "results"
- "discussion"
- "conclusion"
behavior:
setup:
- "User specifies sections at STAGE 0 or at any Rich Checkpoint"
- "Example: sections: ['discussion', 'conclusion']"
during_g6_transform:
- "G6 receives sections parameter"
- "Only specified sections are transformed"
- "Non-selected sections pass through unchanged (verbatim copy)"
- "Change log only includes changes in selected sections"
during_g5_rescan:
- "G5 still scans ALL sections (for accurate composite score)"
- "Section-level scores reported for all sections"
- "Non-selected sections should show unchanged scores"
at_checkpoints:
- "Rich Checkpoint displays all sections with scores"
- "Non-selected sections marked as '(unchanged)' in patterns column"
- "User can modify section selection at any checkpoint"
use_cases:
- "Discussion has score 95% but Methods is clean at 25% → only humanize Discussion"
- "Abstract needs aggressive treatment but Results should stay conservative"
- "Re-run only on sections that still have remaining patterns after a pass"
on_agent_failure:
g5_failure: "Retry once. If still fails, present partial results to user."
g6_failure: "Retry once. If still fails, ask user whether to continue with partial transformation."
f5_failure: "Continue pipeline. F5 is verification, not blocking."
At any checkpoint, user can select "Revert". Action:
If session interrupted mid-pipeline:
diverga_checkpoint_status() for last completed checkpointdiverga_project_update() for pipeline stateALWAYS use Task tool with diverga agent types:
# G5 Audit
Task(subagent_type="diverga:g5", model="sonnet", prompt="...")
# G6 Transform
Task(subagent_type="diverga:g6", model="opus", prompt="...")
# F5 Verify
Task(subagent_type="diverga:f5", model="haiku", prompt="...")
NEVER run G6 in parallel with G5 or F5 within a single pass. G5 rescan and F5 verify MUST run in parallel after each G6 transform (both are read-only on the same output). This saves latency on every pass without any risk to data integrity.
| Existing Skill | Relationship | Conflict? |
|---------------|-------------|-----------|
| /diverga:g5 | This skill CALLS g5 as a sub-step | No — g5 is a component |
| /diverga:g6 | This skill CALLS g6 as a sub-step | No — g6 is a component |
| /diverga:f5 | This skill CALLS f5 as a sub-step | No — f5 is a component |
| /diverga:orchestrator | Independent workflow | No — different trigger patterns |
When to use which:
/diverga:humanize → Full multi-pass pipeline (recommended for manuscripts)/diverga:g6 → Single-agent one-shot transformation (quick fixes, small sections)/diverga:g5 → Standalone audit without transformationdevelopment
Conduct rigorous thematic analysis (TA) of qualitative data following Braun and Clarke's (2006) six-phase framework. Use whenever the user mentions 'thematic analysis', 'TA', 'Braun and Clarke', 'qualitative coding', 'identifying themes', or asks for help analysing interviews, focus groups, open-ended survey responses, or transcripts to identify patterns. Also trigger for questions about inductive vs theoretical coding, semantic vs latent themes, essentialist vs constructionist epistemology, building a thematic map, or writing up a qualitative findings section. Covers all six phases, the four upfront analytic decisions, the 15-point quality checklist, and the five common pitfalls. Produces a Word document write-up and an annotated thematic map. Does NOT cover IPA, grounded theory, discourse analysis, conversation analysis, or narrative analysis — use a different method for those.
development
Guide users through writing a systematic literature review (SLR) following the PRISMA 2020 framework. Use this skill whenever the user mentions 'systematic review', 'systematic literature review', 'SLR', 'PRISMA', 'PRISMA 2020', 'PRISMA flow diagram', 'PRISMA checklist', or asks for help writing, structuring, or auditing a literature review that follows reporting guidelines. Also trigger when the user asks about inclusion/exclusion criteria for a review, search strategies for databases like Scopus/WoS/PubMed, study selection processes, risk of bias assessment, or narrative synthesis for a review paper. This skill covers the full PRISMA 2020 checklist (27 items), produces a Word document manuscript in strict journal article format, generates an annotated PRISMA flow diagram, and enforces APA 7th Edition referencing throughout. It does NOT cover meta-analysis or statistical pooling. By Chuah Kee Man.
testing
Performs placebo-in-time sensitivity analysis with hierarchical null model and optional Bayesian assurance. Use when checking model robustness, verifying lack of pre-intervention effects, or estimating study power.
data-ai
Fit, summarize, plot, and interpret a chosen CausalPy experiment. Use after the causal method has been selected, including when configuring PyMC/sklearn models and scale-aware custom priors.