.cursor/skills/mulch/SKILL.md
Mulch expertise workflow for the Conscius project. USE WHEN: the user wants to initialize Mulch, record lessons learned, query prior expertise, prime agent context, compact/prune records, inspect Mulch health, or manage `.mulch/` knowledge safely across agents. EXAMPLES: 'record this learning in mulch', 'search mulch for testing advice', 'prime mulch context', 'set up mulch in this repo', 'compact mulch records', 'doctor the mulch store'.
npx skillsauth add jwill9999/conscius mulchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
git branch --show-currenttest -d .mulch && echo present || echo missingfind .mulch -maxdepth 3 -type f 2>/dev/null | sort | head -20$ARGUMENTS
Use Mulch as the project's persistent expertise layer: agents read accumulated lessons before working and record new lessons before finishing.
Mulch is passive storage, not an LLM. The agent is responsible for deciding what to record and when to query it.
This repository has some older local references to the legacy mulch CLI and .mulch/mulch.jsonl, while the upstream Mulch README uses:
ml as the primary command.mulch/expertise/<domain>.jsonl as the storage layout.mulch/mulch.config.yaml as configBefore editing code or automation around Mulch, verify the actual installed CLI and repository layout:
ml --help
ml status --json
find .mulch -maxdepth 3 -type f | sort
If ml is unavailable but mulch exists, treat that as a legacy installation and avoid assuming full command parity without checking mulch --help.
ml init
ml add <domain>
ml record <domain> --type <type> "short lesson"
ml query <domain>
ml prime
Examples:
ml init
ml add testing
ml record testing --type convention "Use nx targets instead of direct tool invocations"
ml record testing --type failure \
--description "Jest failed because tsconfig.spec.json inherited incompatible customConditions" \
--resolution "Set customConditions to null in tsconfig.spec.json for Jest/CommonJS configs"
ml query testing --json
ml prime testing
| Command | Use |
| ---------------------------------- | ----------------------------------------------------------------- |
| ml init | Create .mulch/ for the current project |
| ml add <domain> | Create a new expertise domain |
| ml record <domain> --type <type> | Add a record to a domain |
| make mulch-record (repo root) | Interactive prompts + quoted ml record (see .mulch/README.md) |
| ml edit <domain> <id> | Edit an existing record |
| ml delete <domain> [id] | Delete records |
| ml query [domain] | View expertise for one domain or all domains |
| ml prime [domains...] | Output agent-optimized context for prompt injection |
| ml search [query] | Search across domains |
| ml compact [domain] | Analyze or apply compaction |
| ml ready | Show recently added or updated records |
| ml status | Show expertise freshness and counts |
| ml validate | Validate schemas |
| ml doctor | Run health checks and optionally fix issues |
| ml sync | Validate, stage, and commit .mulch/ changes |
| ml learn | Suggest domains for new learnings based on changed files |
| ml onboard | Generate AGENTS.md / CLAUDE.md snippets |
| ml setup [provider] | Install provider-specific hooks |
All commands support --json for structured output. Prefer --json when the result will be parsed or fed back into tooling.
| Type | Required fields | Best for |
| ------------ | --------------------------- | ----------------------------------------------- |
| convention | content | Stable project rules and norms |
| pattern | name, description | Reusable implementation approaches |
| failure | description, resolution | Mistakes and how to avoid them |
| decision | title, rationale | Architectural choices and tradeoffs |
| reference | name, description | Important files, endpoints, or resources |
| guide | name, description | Recurring procedures and step-by-step workflows |
Use classification deliberately:
foundational — long-lived, broadly reusabletactical — useful for current architecture or toolingobservational — temporary findings likely to expireWhen the task mentions a domain, subsystem, or recurring problem, query or search Mulch first:
ml query <domain> --json
ml search "<topic>" --json
ml prime <domain>
Before ending a task, look for reusable insight:
Then record it:
ml record <domain> --type convention "..."
ml record <domain> --type failure --description "..." --resolution "..."
ml record <domain> --type decision --title "..." --rationale "..."
When assembling context for an agent or session handoff, use:
ml prime
ml prime <domain> --budget 4000
From the upstream Mulch README:
prime, query, search, status, validate, learn, readyrecord, edit, delete, compact, prune, doctorinit, add, onboard, setupIn swarm or multi-agent work:
ml sync on shared branches because git ref locking can still contendRecord a lesson when it is likely to help a future agent avoid re-learning something expensive.
Good candidates:
Do not record:
ml init
ml add architecture
ml add testing
ml add release
ml status --json
ml search "typescript jest customConditions" --json
ml query testing --json
ml record testing --type failure \
--description "Nx Jest config failed because spec tsconfig inherited incompatible customConditions" \
--resolution "Override customConditions to null in tsconfig.spec.json for Jest/CommonJS" \
--classification tactical \
--tag jest \
--tag typescript
ml validate
ml doctor
ml compact --analyze
ml ready --limit 20 --json
ml commands when working from the current upstream Mulch CLI documentation.mulch commands or .mulch/mulch.jsonl, do not silently rewrite behavior. First verify the installed CLI and stored data format.--json whenever the result will drive code changes, automation, or further tool calls.When using this skill:
.mulch/ already exists and what layout it uses.ml sync only when the user wants Mulch changes committed.testing
Manage SESSION.md and SUMMARY.md for the Conscius project. USE WHEN: user says 'update session', 'update SESSION.md', 'end of session', 'taking a break', 'stepping away', 'compress conversation', 'add summary', or when completing an epic/task and session state needs recording. EXAMPLES: 'update the session', 'let's update session.md', 'add a summary segment', 'I am done for today'.
testing
PR review workflow for the Conscius project. USE WHEN: user opens a pull request, asks to check CI status, mentions SonarCloud or Sourcery feedback, asks if a PR is ready to merge, or needs to resolve a merge conflict. EXAMPLES: 'check if the PR is ready', 'CI failed on my PR', 'SonarCloud flagged something', 'is this ready to merge?', 'fix merge conflict', 'review PR feedback'.
tools
Plan, document, and manage epics, features, tasks, and backlog items for the Conscius project. Creates entries in both the markdown planning docs (docs/planning/) and the Beads task graph (bd CLI). Use this skill for all planning work. Supported slash commands: /new-epic, /new-feature, /add-task, /update-status, /close-feature, /archive-feature, /new-backlog, /move-to-feature, /list-features, /list-backlog, /sync-beads, /help /planning
development
Explore and understand Nx workspaces. USE WHEN answering questions about the workspace, projects, or tasks. ALSO USE WHEN an nx command fails or you need to check available targets/configuration before running a task. EXAMPLES: 'What projects are in this workspace?', 'How is project X configured?', 'What depends on library Y?', 'What targets can I run?', 'Cannot find configuration for task', 'debug nx task failure'.