skills/condense/SKILL.md
Syntactic compression ruleset for prose. Drops articles, filler, pleasantries, hedging, imperative softeners, and connective fluff without modifying code, paths, IDs, numbers, or proper nouns. Invoked by `distill` as its Pass 1 pre-compression step; also usable standalone when a prose block needs to shrink in place without restructuring.
npx skillsauth add pdlc-os/pdlc condenseInstall 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.
Pure mechanical compression of natural-language prose. Strip the connective tissue between facts — articles, filler, pleasantries, hedging, softeners, redundant phrasing — and shorten verb choice. Facts, structure, code, and proper nouns stay verbatim.
This skill does not restructure content (headers, bullets, tables, ordering) and does not produce a digest. It is a single-dimension prose compressor. For the full "compress an artifact into a sub-agent-readable digest" flow, see skills/distill/SKILL.md, which invokes this skill as its Pass 1.
distill — runs before structural compression. The caller is distill; condense never writes to disk on its own in this mode..py, .js, .ts, etc.) — prose compression rules don't apply.DECISIONS.md, ADRs) — the difference between "we considered X" and "X" is load-bearing; let distill handle these through its verified pipeline instead.a, an, the — unless dropping creates ambiguity (e.g. "a table" vs "the table" where which table matters).just, really, basically, actually, simply, essentially, generally (keep generally when it is the load-bearing qualifier on a claim).sure, of course, happy to, I'd recommend, let's.it might be worth, you could consider, it would be good to, you may want to, perhaps.however, furthermore, additionally, in addition, moreover, as noted above, this means that, therefore — keep only when the logical link itself is the fact being communicated (e.g. causal chains in a decision).you should, make sure to, remember to, be sure to → state the action directly.in order to → to; the reason is because → because; at this point in time → now; due to the fact that → because.utilize → use; implement a solution for → fix; extensive → big; modification → change; approximately → ~; prior to → before.```) and indented — including every comment, blank line, and whitespace character./src/components/..., ./config.yaml, npm install, git commit, bd claim.$HOME, NODE_ENV, etc.--- block at the top of markdown files.Example 1 — imperative + connective fluff:
Before:
You should always make sure to run the test suite before pushing any changes to the main branch. This is important because it helps catch bugs early and prevents broken builds from being deployed to production.
After:
Run tests before push to main. Catches bugs early, prevents broken prod deploys.
Example 2 — pleasantry + hedging:
Before:
Sure! I'd be happy to help with that. The issue you're experiencing is likely caused by your authentication middleware not properly validating the token expiry.
After:
Bug in auth middleware — token expiry not validated.
Example 3 — explanation with code (code preserved exactly):
Before:
The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. I'd recommend using
useMemoto memoize the object.
After:
New object ref each render → re-render. Wrap in
useMemo.
Example 4 — table cells compressed, structure preserved:
Before: | Option | When to use it | |--------|----------------| | Merge | You should use merge when you want to preserve the full branch history | | Squash | Use squash if you would prefer to collapse all the commits into a single commit |
After: | Option | When to use it | |--------|----------------| | Merge | Preserve full branch history | | Squash | Collapse all commits into one |
Typical reduction on natural-language prose: ~40–50% of tokens.
distill)distill identifies a markdown file that meets its trigger criteria.distill extracts the prose regions (everything outside code blocks, tables, frontmatter, and the existing digest section, if any).distill's Pass 2 (Structural).distill writes back — appending the final digest section.distill's round-trip verification (subagent reconstruction + fact diff) catches any fact that was accidentally dropped by condense's mechanical rules.Condense is a deterministic prose compressor with hard "never touch" boundaries around code, IDs, and proper nouns. It is cheap, mechanical, and one-dimensional. It should almost always run as Pass 1 inside distill; standalone use is reserved for shrinking a single bloated prose region where restructuring is unnecessary.
data-ai
Run a feature autonomously from approved-PRD to shipped, evaluated by a per-turn Sentinel hook. Requires bypass-permissions mode and Agent Teams mode.
development
# Variant Convergence **Topic slug:** `variant-convergence` **Triggers:** - **Inception path — Brainstorm Design Step 10.7:** after Step 10.6 (Design-Laws Audit) completes, before Step 11 (PRD design-doc link updates) and the Step 12 design approval gate. Variants are HTML mockups Muse generates. - **Construction path — Build Review Step 12.5:** after Party Review (Step 12) writes its review file and Muse appends the *As-Built Audit* section to `ux-review.md`, before the Step 13 Review approval
data-ai
Force-release a stuck roadmap-level feature claim (admin command)
devops
Bypass the deploy-before-Operation guardrails block with a single confirmation