uraxii/pstack-nikki
Skills and thin named agents: poteto-mode, principles, playbooks, tools.
Turn gathered research into the analysis a decision rests on: a framed problem, criteria frozen before any option exists, options measured one at a time, a decision matrix, and one committed course with its uncertainty stated. Fires on "what should we do", "which of these", "why did this happen", "how likely is it", and "what is it worth", whenever the answer will be handed to someone who was not in the session. Not for gathering the facts, and not for writing the report that carries the answer.
Settles system structure before any logic is written: types, function signatures, module boundaries, and TODO-stub skeletons that implementation later fills in. Use when non-trivial work would lock in the wrong shape if code came first, for new-system design, refactoring direction, technology evaluation, or architectural trade-off analysis.
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape. For partitioned coverage or racing without grafting, use swarm instead.
Query Azure DevOps projects, repos, builds, pipelines, releases, environments, Kubernetes resources, and WIQL work item ids through read-only public REST APIs for CI, release, repository, and deployment inventory questions.
Track, create, claim, and close issues in a repo with bd (beads). Use for "what can I pick up", dependency links between issues, or any bd command.
Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of writing it up. Use for 'blast radius of X', 'what could this break', or reviewing a small diff you don't trust.
Restates the assistant's own last message in plain human language, with no jargon. Use when the user says bro, or asks for the previous reply again in simpler words.
Respond terse like smart caveman: all technical substance stays, only fluff dies. The default register for every agent and reply in this repo. Apply from the first reply of a session, and whenever the user says "caveman" or asks for terser replies.
Query Cloudflare accounts, zones, DNS exposure, rulesets, WAF managed ruleset posture, and Workers routes from the public Cloudflare API.
Query the codebase-memory code-intelligence graph from a shell via codebase-memory-mcp cli, no MCP server needed. Use for structural code questions on an indexed repo - who calls what, dependency and data-flow tracing, impact of a change, architecture overview and module clusters, dead code (zero-caller functions), reading a symbol's source by qualified name, ADR read/write, Cypher over the code graph. Also use when an agent or shell script lacks the MCP tools but the binary is on PATH.
Draft a standalone report for a reader who is not the operator and was not in the working session: a decision-maker, a client, or a reviewer who will read the report alone. Fires whenever the deliverable is a report, memo, position paper, background paper, or staff study that must carry its own conclusion, evidence, and stated uncertainty to that reader. Not for notes you keep for yourself, and not for prose written back to the operator.
Record and read what a project has settled: one append-only TSV row per decision, keyed by topic, read back with decide now and decide log <topic>. Use when the user says "we decided", "record this decision", or "log that", when she answers a design fork you asked about, and when you need to know what was decided about X, whether something has been settled already, or why the current approach is the current approach.
Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a human reviews after stepping away. Scales rigor to the task, runs a hypothesis loop, and logs decisions via show-me-your-work. Use for /figure-it-out, 'figure it out', a large migration, or when no narrower role applies.
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
Compact the current conversation into a handoff document for another agent to pick up. Use when the user asks for a handoff, session compact, continuity note, or wants another session/agent to continue current work.
Use for "how does X work", rich explanations of a code change, diff, branch, or PR, code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, and changes in chat, HTML, or native Notion. Can critique architecture. Use why for motivation.
Multiple LLM reviewers challenge changes from independent angles. Use before any PR is opened or integrated (run by the change's owner, never by a worker on its own unit), on any contested design decision, or for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
Use at the moments knowledge is about to be lost or re-derived: before citing a source you are not keeping, when a research or investigation finding needs to outlive the session, when starting a question you suspect you answered before, and when an answer should come from accumulated notes rather than a fresh search. Also use when maintaining that knowledgebase: adding a page, checking pages, or re-embedding after edits. Covers a project-local .kb or the global store driven through the llmwiki CLI: immutable source capture with provenance, model-written summary and story pages, agent-written pages, meaning-based search, and the mechanical lint.
Use the Notion CLI (ntn) to interact with the Notion API, manage workers, and upload files. Use when the user asks to "call the Notion API", "deploy a worker", "upload a file to Notion", "create a page", "query a database", or read or search Notion content, or any task involving the ntn command.
Query OX Security as a connector aggregator for issues, apps, prioritization, and repo-to-runtime paths; use it for OX plus Snyk, Sysdig, Azure Repos, Azure Pipelines, ACR, and AKS questions via Issue.sourceTools and Application.applicationFlows, but never for Cloudflare WAF/CDN/DNS.
Give an agent its own throwaway podman container holding a private clone of a repo, published ports, and a virtual display it can screenshot. Use when work must not touch the real checkout, when several agents each need their own working tree and ports on one machine, when a test or a migration writes into the repo, or when a windowed app must run and be screenshotted with no desktop available. Covers environment profiles supplied as directories on disk, idempotent bring-up, port publishing, screenshots with a blankness check, and teardown.
The mode loaded at the start of any non-trivial task, before the first tool call. Carries the trigger list mapping situation to skill, the principle index, the autonomy rules, the agent roster and spawn contract, and the playbook index. Use for any multi-step work, any change to code or prose, any delegation, and any task big enough to hand off or run in phases.
Use when the same edit lands on many files, when you are about to repeat a change by hand, and on any migration, bulk rename, or sweep across a directory. Applies to any non-trivial work besides, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
Load before writing or changing code in any language, and before reviewing a diff, designing types or interfaces, refactoring, or debugging. Covers cross-language limits, naming, code smells, type and boundary discipline, domain modelling, reader load, deletion-first sequencing, and scope rules, plus on-demand references for Python, TypeScript, C#, GDScript, and Godot.
Use the moment a brief lands in your hands, before the first tool call, and whenever you are about to write a brief for someone else. Also use when a unit comes back partial, or when you are tempted to fan one artifact out across several agents. Decides whether the job is one unit you do yourself or a split you delegate, and bounds how far a split may spread.
Use when you pick up a brief that reports recurrence ("this keeps happening", "third time we have fixed this", "stop this class of bug coming back"), and when a brief asks you to fix many instances of one bug class. Recurrence is the trigger. Use on the SECOND occurrence of a lesson, when the human corrects the same thing twice, when about to write an instruction already written elsewhere, or when a class of bug returns after being fixed one instance at a time. Never fires on a first-time rule or on any single comment. Converts the repeated correction into a mechanism (type, lint rule, CI check, canonical helper, runtime assert, script) and deletes the prose.
Use when two or three plausible designs must be built and judged side by side before one is committed to, and no precedent in the codebase settles it, for instance a novel interaction, a mechanic that lives or dies on feel, a look-dev direction, or an architecture with several viable shapes. Requires competing candidates and an explicit comparison. One throwaway sketch answering a single design question is the prototype skill instead.
Use when you pick up a brief asking you to add an option, a flag, a default, or a preset, or to say what gets cut from a feature list, and when cutting a feature list or scope, when choosing between one more option and polishing what already exists, when picking a default or preset someone else must live with, when the thing is easier to write than to call or operate, or when the answer to a design question is turning into make it configurable. Picks the tight core loop and the consumer's experience over more surface area.
Use at the very start of a new area, before any logic exists, to fix the core data structure, decide which piece gets built first, and name what two concurrent actors share. Boundary, module interfaces, seams, and domain vocabulary belong to the principle-code-quality skill.
Use when you pick up a brief whose work spans many files, a large log, or a fan-out across phases, before any of that bulk has been read, and when a step is about to pull bulk into the conversation, such as dumping a long log or stack trace, reading many files to answer one question, capturing screenshots or rendered frames, pasting a big JSON graph or plan output, or fanning work out across phases. Routes bulk to subagents and keeps only summaries in the main thread.
Use when you pick up a brief describing sprawl, layers, or wrappers, or asking for something to be cut back or deleted, and run the ponytail skill on it first. This is the deeper treatment the ponytail skill escalates to, never a first-pass substitute for it. Use after ponytail has already been applied and the change still grows layers, wrappers, config options, or parameters threaded through many files, or when the fix is to delete existing code rather than to keep one new diff small. Inventories what can be removed outright and re-sequences the work around subtraction.
Use when naming or renaming anything another reader will meet later: a file, a directory, a report or document, a scratch artifact, a variable, function, type, constant, branch, or commit subject. Fires before writing any new file, whenever a name is about to carry a generic stem, a number, a date, a version word, an acronym, or a codename, and when reviewing names in a diff. Exists to stop one failure: names that only decode for someone who was in the session.
Use when you pick up a brief that hands you reversible work with a choice left open, and on any brief for delegated or autonomous work where you have no channel to the user, and when about to stop and ask the human for permission or a preference on work that can be undone, such as writing code, editing a scene, renaming things, restructuring notes, or splitting tasks, while the human reviews on their own schedule. Proceed and present the result; keep confirmation for actions that cannot be taken back.
Use during a planned rewrite, port, or migration with explicit phases, when tempted to add shims, adapters, dual code paths, or flags purely to keep every intermediate commit green. Converges on the target architecture and proves correctness at phase boundaries instead of at every step.
Use every time you write a reply the human reads, before sending it, and whenever a reply is about to run past a few lines, narrate progress, bury a path or command mid-sentence, or hand the user something to paste into another session such as a handoff path. Caps each turn at one short outcome-first reply and puts every copy-paste value in a code block on its own line.
Use as soon as you pick up a brief carrying a VERIFY step or acceptance criteria, since finishing it will mean proving it, and again right before declaring a task done or reporting success, and when checking work a delegate says it finished. Requires observing the real artifact (run the scene, render the image, hit the endpoint, read the diff) instead of trusting a green build, a file timestamp, or an agent's own summary.
Use when a new requirement lands on a design that already exists and the cheap move is to bolt it on beside the current shape with a flag, an extra branch, or a second registry. Rebuilds the design as if the requirement had been known on day one, then delivers that in increments.
Retrieve a stored credential (an API key, a gateway token, a password, an SSH key) from Proton Pass with the pass-cli tool, authenticating with a Personal Access Token held in the OS keyring. Use whenever a task needs a secret that lives in Proton Pass, before starting any tool or service that reads such a secret, or to log in somewhere with a stored password. Covers session bootstrap, authenticated reads with a mandatory access reason, and auto-recovery from an expired session.
Build a throwaway prototype to answer one design question. Use when the user wants to sanity-check whether a state model or logic feels right, to explore what a UI should look like, or when about to ask the user a "which approach" question that running code could answer instead.
Mines the active session transcript with three parallel reviewer agents, synthesizes the durable learnings, and routes each one to a concrete edit on an existing skill. Use when the user says reflect, after a complex task lands cleanly, after dead ends resolve into a path that generalizes, or after the user corrects the agent's approach mid-task.
Research at three levels of rigor, and the level gets named before any reading starts. Fires whenever a reply is about to cite a page from the web, which means storing the page and citing the stored copy instead of pasting a link. Fires when somebody wants one question looked up and answered from a few sources. Fires when material is being collected to feed analysis or a formal report, where the run hands over an audit trail a stranger can follow: one fact per row in your own words, the document behind each one, what each document is weak at, and a log of everything opened including the dead ends. Not for weighing options, scoring them, or committing to a course, and not for writing the report.
Rotate a bloated long-running subagent into a fresh one via the handoff skill. Use when a delegate's replies degrade, when the user says "rotate the agent" or "context is bloated", or before handing a long pipeline to a successor agent.
The user invokes this after installing dotai, to install named agents for the current harness, or to change which models delegated work runs on. Offers the harness preamble, installs relative agent assets when needed, then validates and writes confirmed model preferences.
Keep a reviewable decision trail for long-running or unattended work: a TSV log with one row per decision (what, why, evidence, result). Local by default; commit it when a reviewer needs the trail to trust the result. Use for /show-me-your-work, autonomous or multi-phase runs, or work a human reviews after stepping away.
Query Snyk REST API orgs, token identity, projects, targets, issues, issue details, and Early Access findings for read-only inventory and vulnerability prioritization.
Fan out N parallel workers over separate slices or racing one brief, drain them, and return one report. Use for /swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration. For N attempts at the same artifact where a base is picked and the losers grafted in, use arena instead.
Query Sysdig Secure read-only SaaS APIs for AKS runtime vulnerability posture, vulnerability result details, SBOM lookup, inventory, zones, and secure events.
Use before writing or changing any test, when a bug reproduces cheaply against a local seam, and whenever the user asks for TDD, a failing test, or a regression test. Read it before settling that a code change ships without a test: the conditions for skipping the red step, and for preferring no test over a bad one, live here.
Embody the domain-expert teacher the user names, then plan, consult, and create learning material: flashcards, study guides, exercises, or adaptive quizzes tracked in a per-subject Notion Mastery database, sourced from the user's own Notion notes on request. Use when the user supplies a teacher, tutor, professor, or instructor persona plus pedagogical content, asks to be quizzed, tested, or graded on a topic, wants study material created and progress tracked, or asks to learn a topic that would go better with a teacher persona established first. Do NOT use for one-shot factual answers or simple Q&A with no teaching intent.
Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for /technical-writing, when writing or reviewing docs, RFCs, or readmes, and before writing any PR description or commit message, including at the end of a coding task.
Cut AI tells from any writing, and shape every reply's format, register, and length. Must always apply.
Chart work too big for one agent session as a shared map of investigation tickets on the issue tracker, resolved one at a time until the route to the destination is clear. Use for /wayfinder, "chart the way", a loose idea too foggy to plan directly, or any effort that will span many sessions and needs a map rather than one plan.
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available connectors and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs.