con un clic
graincrawl
// Maintain, verify, and release graincrawl, the local-first Granola archive CLI, including SQLite archive behavior, read-only Granola source boundaries, Homebrew tap packaging, and crawlkit-powered TUI/snapshot surfaces.
// Maintain, verify, and release graincrawl, the local-first Granola archive CLI, including SQLite archive behavior, read-only Granola source boundaries, Homebrew tap packaging, and crawlkit-powered TUI/snapshot surfaces.
Manage one tmux agent lane from its matching ops pane, inspect live pane state and Codex logs on cold start, and produce concise manager summaries for OpenClaw and adjacent project work.
Recover Codex and Claude sessions from tmux cockpit panes, CX SAVE snapshots, codex-cockpit history, and recent Codex logs without overwriting the useful restore source first.
Maintain and release the crawlkit Go library, preserving downstream compatibility for gitcrawl, slacrawl, discrawl, and notcrawl.
Template skill for repository authors; excluded from public publishing.
Use when inspecting a ghcrawl SQLite store, pulling GitHub issue/PR data, refreshing summaries, embeddings, and clusters, or extracting one cluster and its evidence through the ghcrawl CLI.
Investigate a cluster of GitHub issues and PRs, determine canonical candidates, post duplicate/related status, preserve contributor credit, and execute cleanup actions. Supports autonomous mode for provided-link-only closeout, merge/fix follow-through, changelog, and post-merge issue/PR cleanup.
| name | graincrawl |
| description | Maintain, verify, and release graincrawl, the local-first Granola archive CLI, including SQLite archive behavior, read-only Granola source boundaries, Homebrew tap packaging, and crawlkit-powered TUI/snapshot surfaces. |
| license | MIT |
| metadata | {"source":"https://github.com/vincentkoc/dotskills"} |
Maintain graincrawl, the Go CLI that archives Granola notes, transcripts,
panels, people, workspaces, and sync metadata into a private local SQLite store.
Keep it read-only against Granola, SQLite-first for browsing/export, and aligned
with the other crawl apps.
/Users/vincentkoc/GIT/_Perso/graincrawl.private-api, desktop-cache,
encrypted-json, opfs, public-api, or companion-cli.graincrawl release, Homebrew formula, or local binary refresh.Work in /Users/vincentkoc/GIT/_Perso/graincrawl unless the user points at a
different checkout. Read repo-local AGENTS.md, README.md, SPEC.md, and
docs/security.md before release, source-adapter, or unlock work.
Keep Granola boundaries explicit. Ordinary doctor, status, notes,
export, and tui commands must not prompt Keychain, unwrap safeStorage, or
mutate Granola profile files.
Use temp HOME, temp XDG dirs, temp config, and temp SQLite databases for
tests and smoke checks. Do not mutate live ~/.config/graincrawl archives or
Granola app data unless the user explicitly asks.
Prefer archived SQLite reads for UI/export behavior. If Markdown export has the data, TUI detail should read that same archived source, not re-query Granola.
Run the normal local gate with workspace masking disabled:
GOWORK=off go mod tidy
git diff --exit-code -- go.mod go.sum
GOWORK=off go vet ./...
GOWORK=off go test -count=1 ./...
make smoke
goreleaser check
For release work, use semver tags and verify the tap path:
git tag -a v0.1.0 -m "graincrawl v0.1.0"
git push origin main v0.1.0
HOMEBREW_NO_AUTO_UPDATE=1 brew install --build-from-source vincentkoc/tap/graincrawl
HOMEBREW_NO_AUTO_UPDATE=1 brew test vincentkoc/tap/graincrawl
After app changes, refresh the local binary when requested or when handing off a testable CLI:
GOWORK=off go build -trimpath -o ~/.local/bin/graincrawl ./cmd/graincrawl
graincrawl version --json
v0.1.0.