bits-plan
Analyze conversation history and create bits tasks with dependencies. Use when extracting work from a discussion, turning decisions into tracked tasks, or breaking down what was discussed into actionable items. Triggers on "create tasks from this", "turn this into bits", "extract tasks", "what should we track", "break this down into tasks", "plan from this conversation". Uses collaborative Codex debate to refine scope, discovers verification commands, creates self-contained tasks with context and acceptance criteria.
What this skill does
# Bits Planning Skill Review the conversation history above to identify work that needs planning. Extract requirements, decisions, and context discussed—these inform the bits tasks you create. If the user provided additional instructions below, incorporate those as well. ## When to Use This Skill | Scenario | Approach | |----------|----------| | Complex multi-step implementation | Use this skill for structured planning | | Breaking down large features into tasks | Use this skill with debate refinement | | Simple single-task work | Use bits skill directly | | Quick research or exploration | Use Explore agent | This is a three-phase process: discovery, planning with collaborative debate, then task creation with a mandatory goal contract. ## Phase 1: Discovery Gather context from the conversation history and find verification commands. ### Step 1: Verification Commands Run a focused Explore query to discover development commands. This may return nothing, especially for new projects—in which case, simply create tasks without verification sections. ``` Find the ACTUAL commands used in this project for verification. Search in order: 1. mise.toml / .mise.toml (mise task runner - https://github.com/jdx/mise) 2. package.json scripts / pyproject.toml / Makefile / Justfile 3. .github/workflows (CI jobs are authoritative) 4. docs/CONTRIBUTING.md or README.md For each category, report the EXACT command string: - Linting/formatting (e.g., `mise run lint`, `go fmt ./...`) - Static analysis / type checking (e.g., `mise run check`, `staticcheck ./...`, `golangci-lint run`) - Unit tests (e.g., `mise run test`, `go test ./...`) - Scoped E2E tests - run specific tests (e.g., `mise run test:e2e -- -run TestAuth`, `go test ./e2e/... -run TestAuth`) - Full E2E tests - run entire suite (e.g., `mise run test:e2e`, `go test ./e2e/...`) Output format: "CATEGORY: [exact command]" Stop searching a category once you find an authoritative source. ``` ### Step 2: Discovery Synthesis Consolidate findings from conversation history into planning input: - **Architecture overview**: Patterns, conventions, and constraints discussed - **Testing setup**: Where tests live, how to run them, what coverage exists - **Verification commands**: From Step 1 - **Known risks**: Edge cases and caveats identified This synthesis becomes the input for Phase 2. ## Phase 2: Planning with Collaborative Debate Use multi-round refinement for thorough planning. ### Guiding Principles: Speed-of-Light Implementation **Treat planning as a minimization problem.** The goal is not to design a comprehensive solution—it's to find the smallest, fastest path to the desired outcome. - **Minimize changes**: What is the absolute minimum number of lines, files, and touch points needed? Every additional change is a potential bug, a review burden, and merge conflict risk. - **Minimize complexity**: Prefer boring, obvious solutions over clever ones. If two approaches work, choose the one a junior developer could understand in 5 minutes. - **Minimize scope**: Ruthlessly cut anything that isn't strictly required. "Nice to have" belongs in a separate future task, not this plan. - **Minimize risk**: Favor incremental changes over big-bang rewrites. Ship something small that works over something ambitious that might not. **Ask at every decision point**: "Is there a simpler way?" If the answer is yes, take it. ### Step 1: Initial Plan Use the Plan subagent with **model: "opus"** to design the minimum viable implementation based on discovery synthesis. The plan should answer: "What is the smallest change that achieves the goal?" ### Step 2: Interview Codex Use threaded conversations to probe and refine the plan. Claude interviews Codex, asking probing questions to surface gaps, risks, and simplification opportunities. **Start the thread:** Use `mcp__codex__codex` to share the initial plan and begin the interview. Inform Codex of your capabilities so it can request specific research: ``` prompt: "I'm planning this implementation: [plan]. I can run multiple parallel sub-agents to gather information: - Explore agents to search the codebase and answer specific questions - Plan agents for deeper architectural analysis Help me think through this critically. What concerns do you have? What might I be missing? Are there specific questions I should investigate with an Explore agent before proceeding?" ``` **Probe deeper:** Continue with `mcp__codex__codex-reply` using the returned `threadId`. Ask about literally anything: technical implementation, concerns, tradeoffs, edge cases, assumptions, risks, dependencies. Questions should not be obvious—probe deeper into things that might not have been considered: - "What's the hardest part of this?" - "Where could this break in production?" - "What assumptions am I making that might be wrong?" - "Is there a simpler way to achieve this?" - "What would you cut if you had to ship this in half the time?" Challenge assumptions. Ask about the hard parts. Push back when answers feel incomplete. **Continue until the plan is fully fleshed out:** There's no fixed number of rounds. Keep interviewing until: - Major concerns have been addressed or explicitly deferred - The plan feels minimal and well-understood - You're confident it represents the smallest viable implementation **Synthesize insights:** After the interview, integrate Codex's feedback into the final plan. Document what was deferred and why. ### Step 3: Draft the Goal Contract Before creating any tasks, translate the user's request into a **Goal Contract**: 3-7 observable truths that must ALL be proven true for the work to be considered done. **If the user's request is ambiguous** and you cannot write concrete, verifiable contract lines, STOP and ask the user for clarification. Do not create a Replan task — ambiguity requires user input. The goal contract must be: - **Observable**: Each line can be verified by running a command, inspecting a file, or testing behavior - **Concrete**: No vague qualifiers like "properly handles" or "works correctly" — state what specifically must be true - **Complete**: If all lines are true, the original request is satisfied Example for "add auth to the API": 1. `POST /login` returns a JWT for valid credentials and 401 for invalid 2. Protected endpoints return 403 when no token is provided 3. Protected endpoints succeed with a valid token 4. Token expiration is enforced (expired tokens return 401) 5. Tests exist covering login success, login failure, protected access, and token expiration 6. `mise run lint` and `mise run test` pass ### Quality Gate Before creating tasks, confirm: - Goal contract lines are specific and verifiable - All discovered edge cases addressed or explicitly deferred with rationale - Error paths defined (what happens when X fails?) - Testing strategy covers new code - Trade-offs documented with reasoning ## Phase 3: Create Tasks ### Step 1: Create the Root Verification Task FIRST This is mandatory. Create it before any implementation tasks so its ID is available for dependency wiring. ```bash bits add "Verify goal: <concise goal summary>" -p high -d "<goal contract description>" --json ``` The description must contain four sections: ```markdown # Original Request <The user's original request, verbatim or faithfully paraphrased> # Goal Contract Each line must be proven true to close this task: 1. <observable truth 1> 2. <observable truth 2> ... # Allowed Evidence For each contract line, the verifier must cite one of: - A closed child verification task that proves the line - Command output demonstrating the behavior - Specific file content or test results Vibe-checking is not evidence. Each line needs explicit proof. # Failure Handling - If a contract line is false: create a new blocker bit, add it as a dependency, release this task - If a contract line is ambiguous: create a Replan task and stop drain - Track rounds via [goal:<this_task_id>][round:N]
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.