
New → research → plan → implement → review → archive. One change, six explicit steps.
MODULE 2 // CORE SKILLS CHAIN
The core of 10x Workflow: six jumpssteps of a single unit of work - from setting the scope to closing it out. new → research → plan → implement → review → archive, and each step leaves an artifact on disk. The same chain covers ~90% of everyday tasks - not just new features.
WHY THIS PROCESS EXISTS
Core Skills Chain is a repeatable path for a feature, bug fix or refactor. It starts with a small scope, bases decisions on facts from the repository, and ends with a review against the approved plan plus a durable record of what was learned.
CSC CHAIN // CLICK A STEP TO FLYJUMP TO ITS SECTION
Chain summary · six jumpssteps in 30 seconds
One unit of work with a clear, reversible scope.
STEP 02Evidence for the plan: facts from the repository instead of assumptions.
STEP 03The dev's key decisions before the code: phases + success criteria.
STEP 04Phase by phase: committed, verifiable steps.
STEP 05Does the implementation deliver the plan? Subagents: plan vs code.
STEP 06Close out the change: lessons to foundation, folder to the archive.
Start with the CSC chain itself. Add the extras only as the risk or the complexity of the change grows.
"The enemy's gate is down."
- Ender Wiggin, orientation before every battle in the Battle RoomBefore every battle, Ender first set up the field for himself: where the gate is, what the objective is, what he is playing with. This step does the same with work. Without it, a task like "improve onboarding" spills across the whole repo and nobody ever knows what "done" means. 10x-new cuts the intent down to one unit of work - small enough that its scope can be grasped and rolled back.
Without setting up the playing field, a task like "improve onboarding" spills across the whole repo and nobody ever knows what "done" means. 10x-new cuts the intent down to one unit of work - small enough that its scope can be grasped and rolled back.
Input: a loose idea or a ticket. Output: a context/changes/<change-id> folder with a change.md file - the identity of the change written to disk. The artifact stops the machine: a human looks at the scope and decides whether this is the right battlechange before anything moves further.
most needed when the task is fuzzy or too big - before any work starts, there must be a unit whose scope can be rolled back in one move.
Creates the change folder in context/changes/<change-id>/. A "change" is one unit of work from start to finish: research, plan, implementation and review live in a single folder tied together by the change id.
Input: a kebab-case change-id plus an optional free-form intent - the first token becomes the identifier, the rest feeds the title and notes. Output: change.md - a small identity file with frontmatter (change_id, title, status: new, dates) and a Notes section for loose context.
Three gates before anything is created: kebab-case checked with a regex, identifier uniqueness across changes/ and archive/, and an existing context/changes/ directory. A missing directory means refusal, not auto-creation - it signals the repo is not prepared for this structure.
After creation, the skill suggests /10x-plan by default. Situationally: /10x-research when the intent suggests exploring the code before planning, or /10x-frame when the framing is suspicious - a "fix / bug / broken" report with a ready-made diagnosis inside. The suggested command lands in the clipboard.
It does not write research.md, plan.md or frame.md - that is the work of the next skills. It keeps no state file of any kind: the only source of truth about execution is the Progress section in plan.md.
"The universe will flicker for you."
- the sophons' signature: measurements that can no longer be trustedThe sophons jammed humanity's measurements so that decisions would be made on poisoned data. In code, the saboteur is your own memory: "I know how this works" is often knowledge from three refactors ago. 10x-research exists so that the plan is built on evidence from the repository, not on assumptions.
The saboteur of decisions in code is your own memory: "I know how this works" is often knowledge from three refactors ago. 10x-research exists so that the plan is built on evidence from the repository, not on assumptions.
Input: change.md. Output: research.md - file paths, conventions, real anchor points. The mechanism: parallel subagents comb the repo, each covering its own area, and the result lands on disk - later steps read facts from a file instead of relying on conversation memory.
most needed in unfamiliar, old or large code - wherever a false "I know" costs the most.
Code research before planning: answer the research question with evidence from the repository and write it to disk - as a durable artifact, not the fleeting memory of a conversation.
Input: a research question plus any pointed-to files - read in full before anything else moves. Output: context/changes/<change-id>/research.md with frontmatter (date, commit, branch, topic) and sections: summary, detailed findings, code references as file:line, architectural conclusions, historical context and open questions.
The question is decomposed into areas, the scope refined with the user (breadth, depth, focus), and then 2-4 subagents run in parallel - each combing its own dimension: files and patterns, earlier decisions in context/changes/ and context/archive/, how the system behaves. Synthesis starts only once they have all returned.
The document is self-sufficient: paths, line numbers, cross-component patterns, GitHub permalinks when the commit is pushed. Follow-up questions go into the same file with a frontmatter annotation - one research artifact per change.
Subagents get read-only tasks and must return concrete file:line references, not generalities. Fresh research always comes before trusting history: earlier changes and the archive are supplementary context, not a substitute for reading the code.
"The route is known before anyone takes the first step."
- the rule of the pilgrimage to the Time TombsThe pilgrims in "Hyperion" know the route and the rules before they set out - you improvise on the road, not on the map. This step removes the pain of "wing it" implementation, in which the dev's key decisions are made in passing, in the middle of writing code. 10x-plan pulls them ahead of the code, where they are cheap to change.
This step removes the pain of "wing it" implementation, in which the dev's key decisions are made in passing, in the middle of writing code. 10x-plan pulls them ahead of the code, where they are cheap to change.
Input: research.md. Output: plan.md - phases with success criteria (automated and manual) plus a Progress section. The mechanism: the plan is built in iterations with a human - you read it and challenge it while it is still text; once approved it becomes a contract, and Progress becomes the state machine for the next step.
most needed when a change touches many files or carries decisions that are hard to undo (data schema, public API) - decisions should be made before the code, not in the middle of it.
Make the key decisions while they are cheap - in text, not in code. The plan is built interactively and skeptically - the skill challenges vague requirements, asks "why" and "what about case X" instead of writing down wishes.
Input: a task description plus artifacts from earlier steps - research.md and/or frame.md. Every artifact provided reduces the number of questions: nothing the user has already written down gets asked again. Output: plan.md (phases with success criteria and a Progress section) plus plan-brief.md - a two-page summary with a table of key decisions.
First a complexity assessment confirmed with the user (LOW: 4-6 questions, MEDIUM: 7-10, HIGH: 11-15), then questions in rounds - every option with a recommendation and an analysis of benefits and costs. The phase skeleton is approved before the details are written.
Overview, current state, target state, "what we are NOT doing" (a dam against scope creep), phases with criteria split into automated verification (commands) and manual (a human). At the bottom, the Progress section - the only place for checkboxes and the state machine for /10x-implement.
No open questions in the final plan - everything resolved before it is saved. The plan describes the intent and the contract of the change, not finished code: a snippet appears only for a non-obvious change. And zero re-asking about things already settled in the frame or the research.

"Doors and corners, kid. That's where they get you."
- Miller to Holden, on clearing rooms step by stepThe Rocinante does not fly to its destination on one engine burn: half the way under thrust, a flip, half the way braking - and course corrections along the way. This step removes the pain of one big change with no checkpoints, which can be neither paused nor rolled back. 10x-implement executes the plan phase by phase.
This step removes the pain of one big change with no checkpoints, which can be neither paused nor rolled back. 10x-implement executes the plan phase by phase: every phase ends with verification and a commit.
Input: an approved plan.md. Output: commits per phase and a checked-off Progress section. The mechanism: Progress as a state machine - a phase is done only when its success criteria are green and the change is committed; an interrupted session resumes from the last green phase, not from zero.
most needed for long or interrupted work - every phase is a return point: a commit plus green success criteria instead of one giant diff at the end.
Execute the approved plan phase by phase with verification, instead of one giant diff. The philosophy: follow the plan's intent while adapting to the code you find - and on divergence, stop and present the problem instead of quietly improvising.
Input: context/changes/<change-id>/plan.md, optionally a phase number. Output: a commit per phase in the Conventional Commits convention plus a checked-off Progress section, where every phase row gets the short SHA of its closing commit appended.
The Progress section in plan.md is the only source of truth - no state files on the side. The first unchecked row marks the starting point - after a break you do not guess what is already done. The skill modifies Progress only; the phase blocks are read-only.
Automated criteria pass → the manual verification gate (a human confirms the tests) → staging explicitly by path from the set of files touched in the phase (never git add -A) → commit message approval → the SHA written back into Progress.
It does not check off manual tests without the user's confirmation. Divergence from the plan escalates as a question with three exits - adapt and continue, skip, go back to planning - instead of deciding for the human.
"Blessed is the mind too small for doubt."
- an Adeptus Mechanicus catechism; review exists to doubtThe tech-priests of the Mechanicus perform rituals over machines no one understands anymore. The code equivalent is "it works, let's merge" - acceptance without checking whether the code kept the plan's promises. 10x-impl-review asks one question point-blank: does the implementation deliver the plan?
"It works, let's merge" is acceptance without checking whether the code kept the plan's promises. 10x-impl-review asks one question point-blank: does the implementation deliver the plan?
Input: plan.md and the finished diff. Output: a review report - drift from the plan, dangerous decisions, compliance with repo conventions. The mechanism: subagent analysis - each compares a different dimension of the plan against the code, and the human gets a list of concrete discrepancies instead of a ritual "looks good".
most needed before merge - the bigger the diff, the easier the drift between what the plan promised and what the code does.
Compare the actual implementation against the plan before drift, dangerous decisions and convention violations have time to pile up. Two scopes: a quick review of a single phase or a full review of the whole plan before merge.
Input: plan.md plus the actual state of the repo - the diff computed from the plan's date. Output: a report in context/changes/<change-id>/reviews/ with an APPROVED / NEEDS ATTENTION / REJECTED verdict and a list of findings ready for triage.
Two parallel subagents: the first detects drift - for every planned change a MATCH / DRIFT / MISSING / EXTRA verdict; the second checks security, performance, reliability and compliance with the repo's patterns. On top of that, the skill runs the commands from the automated success criteria and compares the results with the claims in Progress.
ID, severity (CRITICAL / WARNING / OBSERVATION), impact (how much deliberation the decision requires - a dimension orthogonal to severity), a file:line location, evidence in the form "the plan said X, the code does Y" and a proposed fix with a trade-off analysis.
An interactive loop over the findings: fix now, fix differently, skip, or record as a lesson in context/foundation/lessons.md. Every decision is written back into the saved report, so triage can be paused and resumed later from the PENDING position.
"What is written survives the fall; the rest becomes legend."
- a principle of the Encyclopedia Galactica, FoundationThe Foundation survived the fall of the Empire not by force, but because it wrote down and safeguarded knowledge in time, before it could vanish. This step does the same with a finished change: instead of leaving changes/ clogged with old work, 10x-archive closes out the unit of work - it checks that it is truly finished, pulls the lessons from it and files the folder in the archive.
Without a close-out, the changes/ directory clogs up with old work and you can no longer see what is in progress. 10x-archive closes out the unit of work: it checks that it is truly finished, pulls the lessons from it and files the folder in the archive.
Input: a finished change - plan.md with a checked-off Progress and commits. Output: lessons in context/foundation/lessons.md plus the folder moved to context/archive/. The mechanism: a completeness check - every phase should have a commit (SHA); a purely manual phase with no commit is an informational warning, not an error, and the state is explicitly closed.
most needed after review and merge - it closes the loop: what this change taught you stays in foundation, and the folder moves to the archive so changes/ shows only work in progress.
Close out a finished unit of work: confirm it is complete, move the knowledge into the durable project context, and free up changes/. "Done" should mean done - on the record, not from memory.
Input: the change folder context/changes/<change-id>/ after review. Output: lessons appended to context/foundation/lessons.md and the folder moved to context/archive/ - preserving the full history (change, research, plan, reviews).
Before archiving, the skill checks state consistency: every phase in Progress should have a commit (short SHA). A purely manual phase creates no commit and stays without a SHA - that is an informational warning, not an error, but it is recorded explicitly so "closed out" does not quietly mean "skipped".
What this change taught you - recurring pitfalls, decisions worth remembering - lands in context/foundation/lessons.md, shared across the whole project. The next changes start from that knowledge instead of rediscovering it.
It does not change code or the plan - it operates on already-closed work. The archive is a historical record: nothing reads from it routinely, but it is all there if you ever need to return to the context of an old change.

CSC is the default loop for most everyday work. You scale it down for small stuff and up for risk; you rarely abandon it. The same chain, different shapes of work:
The core stays - you add a specialized skill only when its trigger appears. You do not fire up the whole toolkit for a one-liner.
CSC operates on units of work - the foundation determines where they come from. Three skills build the product context before the first change enters new.
The chain itself does not change - you give it an escort. Three add-ons raise the rigor and the autonomy as the stakes grow.
NO RESULTS // TRY ANOTHER QUERY