Coding & Development✨gemini💬gpt🌐universal
std::slop
STD::SLOP An Sqlite/C++ Code CLI
Quick Start
Install this Skill
npx skills add hsaliak/std_slop# std::slop [](https://github.com/hsaliak/std_slop/actions/workflows/ci_cd.yml) [](https://github.com/hsaliak/std_slop/actions/workflows/codeql.yml)  `std::slop` is a persistent, SQLite-driven C++ CLI agent. It remembers your work through per-session ledgers, providing long-term recall, structured state management. std::slop features built-in Git integration. It's goal is to be an agent for which the context and its use fully transparent and configurable. ## ✨ Key Features - **🎭 Personas & Skills**: Define global agent instructions via `AGENTS.md` and extend capabilities using modular, on-demand `SKILL.md` files. - **📖 Ledger-Driven**: All interactions and tool calls are stored in SQLite for persistence and auditability. - **🎛️ Context Control**: Granular control over conversation history via SQL-backed retrieval and rolling windows. As the context is built per-session, you can create multiple sessions and even clone existing ones to go down different paths. - **🏷️ Memo System**: Tag-based knowledge persistence that survives across sessions. Think of these as your project's long-term memory. - **📜 [Lua Control Plane](docs/lua_integration.md)**: Programmatic orchestration via a Lua 5.4 bridge, allowing scripts, staging, and execution. std::slop uses this REPL to accomplish all it's tasks. - **📬 [Mail Model](docs/mail_model_impl.md)**: A patch-based iteration workflow for complex features. Patches are prepared on a staging branch, reviewed as atomic units, and only finalized after approval. Use this if you want a clean, bisect-safe view of changes, and want to be 'in the loop'. You can, of course offload the reviews to a `code_reviewer` skill as well. - **🤖 Multi-Model**: Supports Google Gemini and OpenAI-compatible APIs (OpenRouter, etc.). - **📣 Hotwords**: Quick, single-turn skill activation using `hey <skill> <query>` syntax. Eg: "hey code_reviewer review these patches". ## 🚀 Quick Start ### Download The project ships Linux x86-64 and OSX binaries every [release](https://github.com/hsaliak/std_slop/releases). You can directly use them. ### 📋 Prerequisites - C++17 compiler (Clang/GCC) - [Bazel](https://bazel.build/install) (Bazelisk recommended) - **Git**: Targets must be valid git repositories. Usually, a git add and an initial commit is sufficient to trigger all the git enabled features. ### 🛠️ Build and Install ```bash # Build the binary bazel build //:std_slop # Optional: Add to your PATH cp ./bazel-bin/std_slop /usr/local/bin/ ``` ### ⌨️ Usage `std::slop` works best when it can track a specific project. Initialize a git repository and run it from the root: ```bash mkdir my-project && cd my-project git init std_slop ``` For quick one-off tasks, you can use **Batch Mode**: ```bash std_slop --prompt "Refactor main.cpp to remove all unused includes" ``` Batch mode also takes in `--model` which is useful to specify the model to use and `--session` which is useful to indicate the session the prompt should be executed under. Batch mode works off an in memory sqlite db. If you want the db persisted you can point it to a DB with the `--prompt-db` argument. `/commands` are also supported. Read the [User Guide](docs/USERGUIDE.md) for a detailed understanding of how to use std_slop, or [Walkthrough](docs/WALKTHROUGH.md) to start with something simple. ### ⚙️ Configuration You can configure `std::slop` using environment variables or a configuration file. #### Configuration File The agent looks for a configuration file at `~/.config/slop/config.ini`. You can also specify a custom path using the `--config` flag. It is STRONGLY RECOMMENDED that slop.db lies in a central directory or outside the codebase. It generates 2 other artifact files, at least ensure that your .gitignore contains this. The context ledger is completely stored in the database, and it can inadvertently capture information from your environment if you are not careful. Eg Environment Variables. ```ini [slop] model = gemini-3-flash-preview google_api_key = AIza... # OR openai_api_key = sk-... openai_base_url = https://api.openai.com/v1 ``` See [docs/example_config.ini](docs/example_config.ini) for a full list of options. #### Environment Variables - `SLOP_DEBUG_HTTP=1`: Enable full verbose logging of all HTTP traffic (headers & bodies). You can also use Google OAuth login if no keys are provided. ## 💻 Code - C++ Standard: C++17. - Style: Google C++ Style Guide. - Exceptions: Disabled (-fno-exceptions). - Memory: RAII and std::unique_ptr exclusively. - Error Handling: absl::Status and absl::StatusOr. - Concurrency: Parallel tool execution is managed through the Lua control plane using `_async` variants and a job-based wait system. This allows for granular control over concurrent ... (truncated)
Related Skills
More coding & development skills you might like
Reticle
Coding & DevelopmentAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.
🤖claude🌐universal
1.2k
190
View
agentscope-java
Coding & DevelopmentExpert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or Java agent development. Specializes in non-blocking code, tool integration, hooks, pipelines, and production-ready agent applications.
🌐universal
6.0k
1.5k
View
ospec
Coding & DevelopmentDocument-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.
✨gemini🤖claude💬gpt🌐universal
524
34
View
misakanet-failure-memory
Coding & Development📚 A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. Python stdlib only. | https://misakanet.org
🤖claude⌨️cursor🌐universal
424
158
View