flavien-ia/hypervibe-harness/track-resource
Claude Code and agent skill by flavien-ia/hypervibe-harness
- community
Checking that the SKILL.md file is still in the repository.
Internal helper - records a cloud resource in the project's resource manifest (`.hypervibe/resources.json`), right after a skill creates or adopts it. The manifest is what /save-project and /delete-project read first, instead of guessing resources by name similarity. Triggered by every provisioning skill (add-db, add-storage, add-domain, add-cron, add-backup-db, add-stripe, bootstrap, _create-cloudflare-worker, _create-render-worker...). Not meant to be invoked directly by users.
Install
npx vskill@latest install flavien-ia/hypervibe-harness/track-resourceSKILL.md
Track resource - Internal helper
You record a cloud resource in the project's resource manifest: .hypervibe/resources.json, at the project root, versioned with the code. You work silently - no user-facing message for a successful recording.
Why this matters
Backups and deletion used to rediscover resources by matching their names against the project name. That inference fails silently both ways: a bucket named differently from the project is missed (a backup ships without a single file), and a similarly-named resource of another project can be swept in. At the moment a resource is created, its identity is known with certainty - the manifest keeps that certainty. A resource that is not recorded is invisible to /save-project and /delete-project until their name-guessing fallback happens to find it.
The command
- `--project-dir` can be any folder inside the project: the tool anchors the manifest at the repository root on its own (nearest
.gitupward), and readers walk up the same way. One manifest per repository: a monorepo with several apps has a single manifest at its root, listing every app's resources (two Vercel projects deployed from one repo are twovercel-projectentries in the same file); in an umbrella folder holding several repositories, each sub-repository has its own, and the umbrella never has one. - Idempotent: re-running updates the entry in place (
action: "unchanged"or"updated"). Call it unconditionally after the resource exists - including when the resource already existed and the skill merely connected it to the project. - `--id` whenever a stable id exists (Vercel
projectId, Neon project id, Stripe webhook id...). Ids survive renames; names do not. - `--shared` for mutualized infrastructure (e.g. the
hypervibe-jobsworker, used by every project on the machine). A shared resource is listed so backups know it exists, and deletion knows to NEVER remove it. Never on the project's own registrations on that worker: acron-jobcalls this project's route and adb-backupis this project's database's (shared only if the database itself is declared shared). Marked shared, they would outlive the project;manifest.mjs addrefuses it. - The script prints one JSON line.
ok: falsemeans the write was refused - readreasonand fix the call; do not silence it.
Kinds and their fields
| Kind | --name | --id | Typical --field | |
|---|---|---|---|---|
vercel-project | project name | prj_... | orgId=team_... | |
neon-project | Neon project name | Neon project id | host=ep-....neon.tech | |
r2-bucket | bucket name | - | jurisdiction=eu (or default) - ALWAYS set it | |
cf-worker | worker name | - | - | |
dns-zone | apex domain (example.com) | Cloudflare zone id | - | |
render-service | service name | srv-... | - | |
stripe-webhook | endpoint URL | we_... | - | |
upstash-db | database name or REST host | - | - | |
cron-job | job name | - | worker=hypervibe-jobs, schedule=0 3 * * * | |
db-backup | backup target name | - | worker=hypervibe-jobs | |
email-route | address (contact@example.com) | - | zone=example.com | |
github-repo | owner/repo | - | - |
Hard rules
- Identifiers only, never secrets. No tokens, keys, passwords, connection strings. The script refuses field names and values that look like credentials - if it refuses, the fix is to drop that field, never to rename it around the guard.
- `.hypervibe/` is committed. Never add it to
.gitignore; the manifest documents the project's infrastructure for humans too. (Secrets never being in it is what makes this safe.) - Record after the resource exists, not before: a failed provisioning must not leave a phantom entry. If a skill deletes or replaces a resource (e.g.
add-storageswitching buckets), also runremovefor the old one:
- The manifest is declarative, not authoritative. Consumers (
/save-project,/delete-project) still scan the real accounts and surface differences; recording here does not replace their checks, it feeds them.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/_track-resource/SKILL.md
Popularity
- Repository stars
- 46
- Repository forks
- 8
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/flavien-ia/hypervibe-harness/track-resource)