Install
$ agentstack add skill-hraness-slopcamera-plan-kb ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Write a durable plan
Keep the plan useful before, during, and after execution. It is the coordination record, not a disposable answer or a duplicate task tracker.
Find the plan's owner
- Resolve `` to the directory containing its authored or managed
index.md front door, then set the shell-local KB_ROOT to that path (KB_ROOT=kb from a typical repository root, or KB_ROOT=. from inside the vault). Read the vault's AGENTS.md and the nearest guide under /plans/. Pass that resolved root to every command; do not assume the starting directory is the vault.
- When the plan owns a repository path, resolve the repository root as
KB_REPO and load that path's current memory before a whole-vault search:
kb context "" --root "$KB_ROOT" --repo "$KB_REPO"
Use --kind file or --kind directory when an absent future path cannot be classified from the filesystem. Read the inherited guides first, then the applicable maintained knowledge, active plans, dated research, reports, and separate historical-plan group.
- Search existing plans before creating one:
kb list --root "$KB_ROOT" --where type=plan --sort area --json
kb search "the intended outcome" --root "$KB_ROOT" --json
If kb is not installed, do not let retrieval tooling block the plan: use rg or the available file search over /plans/, titles, aliases, and relevant terms. If the directory is not an initialized hraness/kb vault, follow the repository's existing planning convention instead of initializing one without being asked. Semantic search writes only a derived local cache; when that cache location is not writable, use exact search or point XDG_CACHE_HOME at a writable cache directory.
- Update an existing plan when it already owns the outcome. Create a new file
only for independently executable work.
- Use
/plans/.mdunless the local guide already groups
plans by area. Do not reorganize older plans merely to impose a new tree.
Write from evidence
Read [the plan structure reference](references/structure.md), then tailor it to the work. Preserve these invariants:
- State one concrete outcome and the current status.
- Record what is known, what is assumed, and what remains to discover.
- Separate in-scope work from non-goals.
- Put constraints and decisions before the steps they shape.
- Make dependencies and ordering visible.
- Give each acceptance claim a verification method.
- Include rollback or recovery when a change can leave durable state behind.
Turn a missing implementation detail into an ordered discovery gate when the outcome and authorization are already clear and the decision can be made from in-scope evidence. Stop and request direction when the unknown would change the intended outcome, expand authority or external coordination, or choose between materially different products.
Use small frontmatter. Start with type: plan, a descriptive title and one-sentence description, a kebab-case area, and one of proposed, accepted, in-progress, blocked, completed, superseded, or cancelled. When the plan owns work in a code repository, add repository_scopes with the few exact canonical repository-relative files or directories it explains. Use no globs. A future path is valid; update an active plan deliberately when code moves instead of relying on inferred Git renames. Add aliases or tags only when they help humans or structured queries.
Grow the same file during execution
- Change status when reality changes, not in anticipation.
- Check off completed work without deleting the original intent.
- Incorporate decisions, review findings, deviations, and command or test
evidence where a future reader can understand their consequence.
- When blocked, name the exact missing condition and the safe work already
completed.
- When a plan becomes
completed,superseded, orcancelled, write a
non-empty ## Result and ## Durable memory. State what shipped or why work stopped in Result. In Durable memory, link each reusable conclusion to the maintained note, guide, documentation, or checked code contract that now owns it. When nothing warrants promotion, say so explicitly and give the reason. Retain the terminal plan as history.
- Do not create separate progress, review, or completion files for the same
plan.
Connect and verify
Add wikilinks or typed relationships only where the prose and evidence explain a useful connection. Review the changed plan for reusable concepts before refreshing:
kb percolate "" --root "$KB_ROOT" --limit 25 --json
kb refresh --root "$KB_ROOT"
kb check --root "$KB_ROOT"
Run those commands when the plan lives in an initialized hraness/kb vault. In a repository-native planning directory, use that repository's own validation instead. Review broken links first, then inspect orphan and mention advisories in context. Promote only concepts likely to be reused, and ground every typed relationship in the plan's prose. An independently useful plan may legitimately remain an orphan in a new or sparse vault. Record that disposition mentally or in the task handoff; do not manufacture links or relations merely to improve graph counts.
In an authored-catalog vault, refresh leaves the front door unchanged and kb catalog --root "$KB_ROOT" renders an exhaustive disposable inventory. In a managed vault, independent edit lanes use kb check --root "$KB_ROOT" --no-catalog; the integrating lane performs the single catalog refresh.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hraness
- Source: hraness/slopcamera
- License: MIT
- Homepage: https://slopcamera.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.