Skip to content
Back to skills

Divine Context

ASecurity

Use when starting work in any divine-* repo (divine-web, divine-mobile, divine-funnelcake, keycast, divine-blossom, divine-router, etc.) or when you've learned a cross-repo fact worth sharing back. The shared divine-context handbook at ~/code/divine/divine-context/ is the source of truth for cross-cutting architecture, Nostr usage, terminology, and the project catalog across the ~50 divine-* repos.

  • 265 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 3, 2026
code-qualityrustgobashdebugginggit

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add divinevideo/divine-mobile --skill divine-context --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Divine Context?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Divine Context
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/divinevideo-divine-context-divine-mobile/badge)](https://www.skillsdirectory.com/skills/divinevideo-divine-context-divine-mobile)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: divine-context
description: Use when starting work in any divine-* repo (divine-web, divine-mobile, divine-funnelcake, keycast, divine-blossom, divine-router, etc.) or when you've learned a cross-repo fact worth sharing back. The shared divine-context handbook at ~/code/divine/divine-context/ is the source of truth for cross-cutting architecture, Nostr usage, terminology, and the project catalog across the ~50 divine-* repos.
---

# Divine Context

The [divine-context](https://github.com/divinevideo/divine-context) repo is the cross-repo handbook for the diVine platform. Every divine-* repo's `AGENTS.md` should pull in `@../divine-context/AGENT_CONTEXT.md`, but if it doesn't, load it manually before doing real cross-repo work.

## On disk

Cloned as a sibling of the current repo:

```
~/code/divine/
├── divine-context/          ← read this
├── divine-web/
├── divine-mobile/
├── divine-funnelcake/
└── ... (~50 divine-* repos)
```

If divine-context isn't cloned:

```bash
(cd ~/code/divine && [ -d divine-context ] || gh repo clone divinevideo/divine-context)
```

## Reading divine-context

For everyday work, `AGENT_CONTEXT.md` is enough. It links out to deeper files:

| File | Read when |
|------|-----------|
| `AGENT_CONTEXT.md` | Always — single-page primer |
| `PROJECT.md` | Need product context (what diVine is, who it's for) |
| `ARCHITECTURE.md` | Touching cross-service flows |
| `PROJECTS.md` | Asking "is there already a service for X?" |
| `NOSTR.md` | Publishing/querying/signing Nostr events |
| `GLOSSARY.md` | Hit an unfamiliar term |
| `ANDOTHERSTUFF.md` | Need parent-org context |

These files describe state at the time they were written. If a file in a divine-* repo contradicts divine-context, trust the code — and if the contradiction is durable, propose a divine-context update (see below).

## Updating divine-context

When you learn a **cross-repo** fact while working in a divine-* repo, propose it back. Cross-repo means: would an agent in a *different* divine-* repo benefit from knowing this? If no, it stays in this repo's `AGENTS.md` or `.claude/rules/`.

### Workflow

1. Read this repo's key files (5 min, no deep dive): `README.md`, `AGENTS.md`, `.claude/rules/*`, `docs/**`, `package.json` / `Cargo.toml` / `pubspec.yaml` / `go.mod`, top-level `src/`.
2. Read every divine-context file (they're short).
3. Build a proposal list — for each item: one line of *what*, one line of *evidence* (`path:line` in this repo).
4. **Show the proposal list to the user before editing anything. Wait for approval.**
5. For approved items only, branch from `origin/main` (not local main, which may be stale) and make the edits:
   ```bash
   cd ~/code/divine/divine-context
   git fetch origin main
   git worktree add .claude/worktrees/dc-<topic> -b update-from-<thisrepo>-<topic>-$(date +%Y-%m-%d) origin/main
   # edit files
   cd .claude/worktrees/dc-<topic>
   git add <only the files you changed>          # never -A
   git commit -m "<short desc>: <what changed>"
   git push -u origin HEAD
   gh pr create --title "..." --body "..."
   ```
   **Use a worktree inside the divine-context checkout.** Other agents may be editing divine-context concurrently; isolating in a worktree avoids branch-state collisions. Put it in `.claude/worktrees/` (gitignored there) — **not `/tmp`**. On macOS `/tmp` is swept, and a worktree there takes any uncommitted work with it; see `WORKTREES.md` in divine-context. Remove it with `git worktree remove` once the PR merges, since nothing cleans it up for you.
6. **One logical change per PR.** Five unrelated improvements = five PRs.

### What goes in divine-context (and what doesn't)

| Goes in divine-context | Stays in this repo |
|------------------------|--------------------|
| Cross-repo architecture / data flow | Repo-local file paths, hooks, components |
| New event kinds, NIPs, relay gotchas | Implementation details of one repo's code |
| Domain terms an outside agent would hit cold | Repo-specific code conventions |
| `<!-- TODO -->` markers you can now answer | Debugging recipes (those go in skills/) |
| Catalog corrections in `PROJECTS.md` | One-off solutions to one repo's bug |

### Hard rules

- **Don't invent.** Cite a file path (and line if practical) in this repo for every claim. If you can't verify in 2 minutes, mark the proposed change `<!-- TODO: verify -->` instead of guessing.
- **No secrets, internal URLs, or anything sensitive.** divine-context is intended to eventually be sharable with outside contributors.
- **No copying of repo-local rules.** Flutter/BLoC specifics belong in divine-mobile, not divine-context. The "Flutter / divine-mobile specifics" subsection of `AGENT_CONTEXT.md` is the only exception.
- **Length is a budget, not a void to fill.** Prefer tightening existing prose to adding new prose. `AGENT_CONTEXT.md` is loaded into every divine-* agent's session — additions there must earn their place.
- **Don't `git add -A`.** Stage only the divine-context files you changed.
- **Don't amend existing commits.** Create new ones.
- **Don't open empty PRs.** If you have nothing to propose after reading, say so and stop.

## End-of-task report

After running the update workflow, report:

```
Proposed changes to divine-context:
- <file>: <one-line description>  — evidence: <path:line in this repo>
- ...

PR opened: <url>
(or: No PR — divine-context is accurate for this repo.)
```

## Common rationalizations to ignore

| Excuse | Reality |
|--------|---------|
| "I'll just edit divine-context directly without showing the user first" | Some proposals may be intentional omissions. Show the list first. |
| "This is repo-local but feels useful, so I'll add it anyway" | Cross-repo only. Repo-local belongs in `AGENTS.md`. |
| "Local main looks fine, no need to fetch" | Local main may be days stale. Always branch from `origin/main`. |
| "I'll skip the worktree, just `git checkout` in place" | Concurrent agents may be editing. Use a `.claude/worktrees/dc-<topic>` worktree. |
| "I'll put the worktree in `/tmp`, it's throwaway" | `/tmp` is swept on macOS and takes uncommitted work with it. Keep it inside the divine-context checkout. |
| "I'll bundle five small fixes into one PR — easier to review" | One logical change per PR. Reviewers can disagree with one without blocking the others. |
| "I'll `git add -A` — faster" | Catches unrelated files. Stage by name. |
| "I can't verify this fact, but it sounds right" | Mark `<!-- TODO: verify -->` instead of inventing. |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.