Software engineering as applied dialectical materialism.
A codebase is not a set of abstractions floating free of the world. It is a material
artifact whose shape was determined by real conditions: hardware, bandwidth, labor,
incentives, and history. praxis is an opencode skill that turns that observation
into an operational engineering method: name the material conditions, name the
contradictions, walk the totality, propose a tested synthesis.
The method is assembled from an existing body of work, including dialectical and
historical materialism in software production (Trimble and Keeling 2013), surplus
value in the software engineering process (Fuchs), modelling as dialectical movement
(Robinson), contradictions as drivers of design change (Yamauchi 2014), dialectical
opposition in tool building (Wernick et al. 2000), and quantity into quality in
scaling (Persado). Each source is summarized in references/.
Installs the skill to ~/.config/opencode/skills/praxis/ and the /dialectics
command to ~/.config/opencode/command/:
mkdir -p ~/.config/opencode/skills ~/.config/opencode/command
curl -fsSL https://github.com/zalbia/praxis/archive/refs/heads/main.tar.gz -o /tmp/praxis.tar.gz
tar -xzf /tmp/praxis.tar.gz -C /tmp
cp /tmp/praxis-main/SKILL.md /tmp/praxis-main/references/* ~/.config/opencode/skills/praxis/
cp /tmp/praxis-main/command/dialectics.md ~/.config/opencode/command/
rm -rf /tmp/praxis-main /tmp/praxis.tar.gzVia the skills CLI (installs the skill and the Dialectics command material to
~/.agents/skills/praxis/), then copy the command into opencode's command dir:
npx skills add zalbia/praxis -g -y --copy -s praxis -a opencode
mkdir -p ~/.config/opencode/command
cp ~/.agents/skills/praxis/command/dialectics.md ~/.config/opencode/command/Then restart opencode.
- Let it auto-load when a problem touches contradictions, refactoring, tech debt, architecture change, migration, rewrite, tradeoffs, or systemic risk.
- Invoke it deliberately with "apply dialectics", "dialectical analysis", "analyze
the material conditions", or the
/dialecticscommand.
Creative Commons Attribution-ShareAlike 4.0 International. The method is a commons, not a commodity. Anyone may use it and build on it, but every derivative must be returned to the commons.