deepwork-wiki
Synthesize the deepwork wiki — rewrites Overview, Session Index, and Cross-refs in ${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/DEEPWORK_WIKI.md from archived sessions. Preserves the # Log section verbatim (hook owns it).
What this skill does
# Deepwork Wiki Synthesis
Regenerate the synthesis sections of `${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/DEEPWORK_WIKI.md` from every archived deepwork session in this project.
## Steps
1. Find archived sessions:
```
Glob: ${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/*/state.archived.json
```
If none, report "No archived deepwork sessions found. Run `/deepwork` and complete a session first." and stop.
2. Read `${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/DEEPWORK_WIKI.md` if it exists. **Extract the entire `# Log` section verbatim** — everything from the `# Log` heading to EOF. You must preserve this byte-for-byte (the hook owns it). If DEEPWORK_WIKI.md doesn't exist, the Log is empty; the hook creates the file on the first archive event.
3. For each archived state file, read and extract:
- `id` — the 8-hex directory basename
- `goal`
- `phase` — e.g., `"done"` (approved) or a mid-flight phase like `"scope"`/`"explore"`/`"synthesize"`/`"critique"`/`"refine"`/`"refining"` (cancelled at that phase)
- `started_at` / `last_updated`
- `bar[]` — criteria with their `verdict` fields
- `empirical_unknowns[]` — unknowns explored + their results
- `user_feedback` — if present
- `guardrails[]` — guardrails accumulated during the session
- Also check for `proposals/` directory and note the highest-versioned `v*.md` (especially `v*-final.md`) — the delivered proposal.
4. Write the **Overview** section: 2-5 sentences summarizing:
- Recurring themes across sessions (topics that came up more than once)
- Architectural commitments that were approved and should persist
- Open questions / unresolved threads (cancelled sessions, disputed bar criteria)
- Cross-session patterns worth flagging
Avoid per-session detail — that belongs in the Session Index.
**G8 hygiene**: every file reference in the Overview prose uses `[label](path)` markdown syntax, not bare backticked paths. For example: `[v2-final.md](8b9c6a4b/proposals/v2-final.md)` not `` `proposals/v2-final.md` ``. This applies to session IDs, proposal paths, and any other file citations in the narrative. Exceptions: fenced code blocks, shell command arguments, YAML frontmatter, JSON config values.
5. Write the **Session Index** — a markdown table. Every cell referencing a file or session directory uses `[label](path)` syntax:
| Date | ID | Goal | Phase | Outcome | Final proposal |
|---|---|---|---|---|---|
| `<date>` | `[\`<id>\`](<id>/)` | `<goal truncated to 60 chars>` | `<phase>` | approved / cancelled | `[proposals/v<N>-final.md](<id>/proposals/v<N>-final.md)` or `—` |
Sort by Date descending (newest first). Use `started_at` for the Date column. The ID cell MUST be a link to the session directory (`[<id>](<id>/)`); the Final proposal cell MUST be a link to the proposal file (`[v<N>-final.md](<id>/proposals/v<N>-final.md)`) or `—` when no proposal exists.
6. Write the **Cross-refs** section: identify sessions that share related goals, overlapping guardrails, or anchor the same file paths. For each related pair, note:
`- [<id-A>](<id-A>/) ↔ [<id-B>](<id-B>/): <one-sentence reason for cross-reference>`
Session IDs in cross-refs MUST be linkified (`[<id>](<id>/)`) — bare backticked IDs do not satisfy G8. If fewer than 2 archived sessions exist, write `_None yet._`.
7. Assemble the new DEEPWORK_WIKI.md content with this structure, placing the **verbatim `# Log` section** at the end:
```
# Deepwork Wiki
<!-- AUTO-MANAGED. Run /deepwork-wiki to regenerate synthesis sections. -->
## Overview
<your synthesis from step 4>
## Session Index
<your table from step 5>
## Cross-refs
<your cross-refs from step 6, or "_None yet._">
# Log
<verbatim Log section from step 2 — do not modify>
```
8. Write the result to `${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/DEEPWORK_WIKI.md` via the `Write` tool.
9. Report to the user:
- Number of sessions synthesized
- Date range covered (oldest → newest)
- A 1-line summary of the Overview
10. **Sources graph** (Step 6 — runs after step 8, appended as a new section):
A. Glob all `.md` files in each archived instance dir: `${CLAUDE_PROJECT_DIR:-$(pwd -P)}/.claude/deepwork/<id>/*.md`
B. For each file, read the first ~30 lines with the Read tool and extract the YAML
frontmatter block (from first `---` to the second `---`).
C. From each parsed frontmatter block, collect:
- `artifact_type`
- `author`
- `bar_id` (or `bar_ids`)
- `sources[]` (list of source paths cited by this artifact)
D. Build a consumer×producer edge list: for each (artifact, source_path) pair, emit
"artifact consumed source_path" — where source_path may itself be another artifact.
E. Render as a markdown section in DEEPWORK_WIKI.md under `## Sources graph`, grouped
by `bar_id`, showing:
```
G1:
- findings.inventory-hunter.md (author: inventory-hunter)
consumed: profiles/default/PROFILE.md, references/versioning-protocol.md
```
F. Idempotent: if `## Sources graph` already exists, replace it in place (find the
heading, strip through the next `## ` heading, rewrite). Place the section
between `## Cross-refs` and `# Log`.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.