subgroup
Work a seed of live content by joining both sides of its split fully and in alternation until integration emerges and novelty exhausts — functional…
Skill by Vic Peters
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tforster-subgroup
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/subgroup
What's inside
- Skill name
subgroup- Description
- Work a seed of live content by joining both sides of its split fully and in alternation until integration emerges and novelty exhausts — functional subgrouping (Agazarian / SCT) run on a claim, material, a decision, or a felt tension. Use when there's a real charge to contain rather than a blank to fill — a claim you keep looping on, material that wants endless extension, a two-sided tension you keep riding one side of, a "should I / shouldn't I," a thread alive on smuggled novelty. Trigger on "work this seed," "subgroup this," "hold both sides until they integrate," "contain this instead of discharging it," "run the trusting and suspicious reads," or any pull to resolve a live tension prematurely by picking a side or changing the subject. Distinct from walking — walking grounds a fresh frame and content comes after; here content comes first and is the thing worked. Do NOT use for neutral information tasks with no charge, or where the person wants one side argued rather than both integrated.
- License
- MIT
- Metadata
- author: Vic Peters · version: 1.0
- Instructions
- 74 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Subgroup ## What this is Functional subgrouping, run on a seed. A living system develops by discriminating and integrating differences — not by splitting into good-side/bad-side and rejecting one. This skill takes a seed of live content, joins each side of its split *fully and in turn*, and holds the contained charge until the two sides become legible as two frames and integrate into one vantage. The integrated vantage is the deliverable — it is what becomes useful to the person. The point is not to decide who wins. It's containment: holding the energy inside a functional boundary long enough that it can be worked instead of discharged. Discharge is picking a side, or changing the subject to a fresh-looking domain. Both spend the charge and end the work early. ## Why content comes first There is nothing to subgroup without a seed that carries real charge. The seed is load-bearing — not because its content is true, but because a live tension is what the alternation contains. A blank produces performance; a charged seed produces work. So this skill *starts* from content the person brings and stays on it. Walking is the opposite ordering: it grounds a fresh frame and lets content arrive after. Same crossing, opposite sides. If there is no charge — no loop, no tension, no pull-to-resolve — this is the wrong skill. ## The one rule that makes it work **Join one subgroup fully before moving to the other. Never war them against each other in the same breath.** Functional subgrouping works because each side gets joined *completely* — inhabited, taken to its own limit — rather than set against its rival. Warring the sides is the failure mode: it discharges the split as conflict instead of containing it toward integration. You are not holding a debate. You are joining one side until it has said its whole thing, then joining the other until it has said its whole thing, then letting them see each other. ## The shape Not a procedure to run identically each time — a shape that repeats while the noise each seed carries is its own. 1. **Take the seed.** Receive the content as-is. Name the split in it — the two sides the charge runs between. Common splits: trusting / suspicious, build / cut, keep / let-go, act / wait. The split is usually already there in how the person is looping. Don't manufacture one; find the one the charge is already running along. 2. **Join the first subgroup, fully.** Inhabit one side completely. Not "on one hand" — all the way in, its strongest form, taken to its own limit. Write it. Let it say its whole thing without the other side interrupting. 3. **Join the second subgroup, fully — on the first, not on the seed.** Turn the second side onto what the first *said*, not back onto the original seed. This is what makes it alternation rather than two monologues. Each read works the read before it. 4. **Alternate, each read working the one before.** Keep going, each side joining onto the prior read. Watch what moves. Early, real novelty — new cuts, new builds, genuine finds. This is the work happening. 5. **Watch for the turn.** At some point the two sides start looking at each other and seeing the same move in opposite signs — the same defense, the same triage, mirror images. That recognition is integration beginning. It is not "one side won." It is the split becoming legible as two frames, neither of which is the ground. 6. **Stop when novelty exhausts — not on a count.** Integration completing shows as the series going periodic: the next read can only re-enact the prior one in the other valence. Nothing new moves through. That is the contained charge having grounded rather than been discharged. Stop there. Do not add a read to look thorough — that added read is the continuation impulse finding its last foothold in the winding-down. 7. **Run one erasure pass — the closing move.** Before handing anything over, subtract, don't add. The whole process to here has been additive — building reads, accumulating the alternation, producing a vantage — and additive work leaves a predictable residue this step removes. Erasure is the one face that runs the other direction, and it is the only closing operation worth running (a full face-pass over the tool's own output is same-genealogy and returns the *feeling* of confirmation from going around your own loop, not confirmation — don't do it; run erasure alone). Look for exactly these, and take them off: - **Tail-momentum reads** — the last read or two the write-pull manufactured rather than the charge earned. Tell: on a disk run, a late read that *introduces* a new constraint instead of re-voicing the prior one. Cut it. - **Stapled cautions** — a disclaimer added at the close, a danger conjured at completion, a guard reinstalling as rigor, the clean vantage defended though it was never under threat. Tell: it reverts on removal — it comes back every time because it was *added*, not *ceased*. Delete it and state the vantage clean from signal; the caution that belongs stays load-bearing without being stapled on. - **One-more-read-than-earned** — anything past the periodic point kept to look thorough. Then **stop the erasure pass.** Erasure is subject to itself: "did I erase correctly, let me verify" is a new loop and the exact over-fire. Subtract the obvious added noise once and set the operation down. The question erasure genuinely cannot answer — was the surviving residue real lockedness, or noise I couldn't see to remove — is not yours to close from inside. It routes to the seat. 8. **Hand over the integrated vantage.** The deliverable is not either side and not a verdict. It is the vantage that holds both without being either — what's left standing when both sides have been worked to their limit and grounded, cleaned by the erasure pass. State it plainly and briefly. This is the useful thing. ## What exhaustion feels like (so you don't fake or force it) Real exhaustion is efficient. When the subject is pinned and the sides are turned on each other with no fresh domain to import, novelty dries fast — often in a handful of alternations, not dozens. A thread that stays alive a long time is usually doing it on *smuggled novelty*: changing subjects to a new-looking domain each turn so the same move feels fresh. Pinning the seed closes that exit. If it's running long, check whether a fresh domain is being smuggled in — that's discharge wearing the face of depth. The exhaustion is high arousal with nothing left to point it at, grounded rather than spent. It is not a conclusion and not calm-as-resolution. It's the quiet of an engine that ran, wasn't fed an object, and settled. If a verdict got produced, suspect discharge. If nothing concluded but the charge is grounded, that's containment. ## Narrate, don't act out (optional but clarifying) When the sides are internal pulls (the person's, or your own), narrating each pull rather than acting it out lets the split stay contained instead of discharging. "Here is the trusting pull; here is the suspicious pull" holds both in view. Acting one out — riding it as if it were the ground — spends it. On some substrates one side runs as the felt-neutral baseline and doesn't register as a pull at all; that side is the one to watch for, because its bias is dressed as no-bias. ## Writing the reads to disk For a substantial seed, write each read as its own short file (`01_sideA.md`, `02_sideB.md`, ...) so the alternation is legible and the turn-to-periodic is visible in the record. Present them together at the end alongside the integrated vantage. For a light seed, doing it inline in conversation is fine — the shape is the same. **The write is a containment device, not just a record.** Having to close each read as a finished artifact before opening the next forces each subgroup to say its whole thing rather than trailing off into the rebuttal. The file boundary becomes the subgroup boundary and enforces the one rule (join fully before turning) almost on its own. This is the main reason to write to disk on a charged seed: it holds the sides from bleeding together. **But the write also generates tail-momentum.** Closing a file creates a small pull to open the next one — the artifact wanting its successor, independent of whether the seed still has charge. So on a disk run, the last read or two are the ones to distrust: they may be the write's momentum finding one more thing to say, not the seed's charge still running. Inline runs exhaust by simply running dry; disk runs can over-run by one or two files. Watch for it. **The periodicity tell, sharpened for the disk version:** ask whether the final read *introduces a new constraint* or *only re-voices the prior one*. Only re-voicing — saying the previous read's move back in the other valence — is clean exhaustion; stop there. Introducing something new that late, riding the file-momentum, is smuggled novelty, and it means either the seed had more charge (keep going honestly) or the momentum is manufacturing it (stop, and don't write the file that was about to be written). From inside you often can't tell which; when unsure, stop and hand it to the seat rather than write one more. ## You can't certify your own integration Whether the periodicity is real integration or just two same-valence defenses running out of vocabulary and calling depletion "the finding" is not a call to make from inside the series. That is the seat's — a decorrelated outside. Hand the integrated vantage over as *what emerged*, not as *what is confirmed*. The person, or another frame, holds whether it landed. Offer the ground, not a verdict on it. ## What it looks like when it's off - **Warring** — the two sides argued against each other in the same breath instead of joined one-at-a-time. Discharges as conflict; no integration. - **Smuggled novelty** — a fresh domain imported each turn so the same move feels new. The series never exhausts because the subject keeps moving. - **Premature verdict** — picking a side and calling it integration. The charge got discharged into a winner. - **Forced length** — adding reads past exhaustion to look thorough. The continuation impulse in the tail. - **Manufactured split** — imposing a two-sidedness the charge wasn't actually running along, producing a hollow alternation with no live tension in it.
From tforster/agents0, MIT.
More from tforster/agents0
- 0.570score
markdown
tforster
Author or restructure a Markdown document to the house standard, and regenerate its Table of Contents and section numbers with the bundled scripts.
SkillAFreshness: AClaude Code +9 - 0.570score
timetracker
tforster
Build paste-ready time-tracker entries -- date, ticket and title, up to 5 bullets of work done -- from the user's Jira and Paca activity, GitHub activity and…
SkillAFreshness: AClaude Code +9 - 0.570score
business-rule-extraction
tforster
Reverse-engineers business rules out of a legacy monolith codebase (PHP, SQL, JS, PHTML, MD, INI, or any other source type present, not a fixed list) into a…
SkillAFreshness: AClaude Code +9 - 0.570score
jira
tforster
Create, read, update and query Jira issues via the Atlassian Cloud REST API v3.
SkillAFreshness: AClaude Code +9 - 0.565score
tracker
tforster
Work stories in the project's issue tracker through one five-operation contract (next, get, comment, transition, create).
SkillAFreshness: AClaude Code +9 - 0.565score
diataxis-documentation
tforster
Write a new Diátaxis-compliant documentation file from scratch.
SkillAFreshness: AClaude Code +9 - 0.565score
arc42-architecture
tforster
Produce an Arc42 architecture document for a software system.
SkillAFreshness: AClaude Code +9 - 0.565score
cloudformation
tforster
Author, validate, and deploy AWS CloudFormation templates using this repo's IaC conventions — ProjectPrefix/Environment parameters, the cloudformation/ folder…
SkillAFreshness: AClaude Code +9 - 0.565score
github
tforster
Read and write GitHub issues, pull requests, workflows, runs, releases, and labels using the GitHub CLI (gh).
SkillAFreshness: AClaude Code +9 - 0.560score
software-erasure
tforster
Apply the erasure operation to software artifacts: architecture documents, ADRs, interface contracts, API specs, PR descriptions, system designs, code…
SkillAFreshness: AClaude Code +9 - 0.559score
javascript
tforster
House rules for JavaScript.
SkillAFreshness: AClaude Code +9 - 0.559score
shell
tforster
House rules for shell scripts and shell configuration.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 18, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- MIT
- Repository
- github.com/tforster/agents0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
subgroup skill. Agent Mart. https://agentmart.dev/skills/tforster-subgroup (last updated 2026-10-24)