swe-developing-applications-common
Common software development workflow patterns shared across all language developer agents
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Common software development workflow patterns shared across all language developer agents
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
AI agent development standards including frontmatter structure, naming conventions, tool access patterns, model selection, and reference documentation structure
UI development skill covering design token usage, shadcn/ui + Radix composition patterns, accessibility requirements, anti-patterns catalog, and brand context for OrganicLever and OSE Platform. Auto-loads when working on TSX components, CSS, or UI design tasks.
Comprehensive project planning standards for plans/ directory including folder structure (ideas/, backlog/, in-progress/, done/), stage-aware naming convention (done uses YYYY-MM-DD__identifier/; backlog and in-progress use identifier/ with no date prefix), five-document file organization (README.md, brd.md, prd.md, tech-docs.md, delivery.md for multi-file default; single README.md for trivially-small single-file exception), BRD/PRD content-placement rules, Gherkin acceptance criteria, and the mandatory structured multiple-choice grilling gates (pre-write and post-write) for resolving design decisions with the user. Essential for creating structured, executable project plans.
Workflow pattern standards for creating multi-agent orchestrations including YAML frontmatter (name, goal, termination, inputs, outputs), execution phases (sequential/parallel/conditional), agent coordination patterns, and Gherkin success criteria. Essential for defining reusable, validated workflow processes.
Trunk Based Development workflow - all development on main branch with small frequent commits, minimal branching, and continuous integration. Covers when branches are justified (exceptional cases only), commit patterns, feature flag usage for incomplete work, environment branch rules (deployment only), and AI agent default behavior (the repo-wide default delivery mode is `worktree-to-pr` -- a short-lived plan branch in a disposable worktree pushed to a draft PR; direct push to main remains available as an explicit selection). Essential for understanding repository git workflow and keeping branches short-lived
Three-stage content quality workflow pattern (Maker creates, Checker validates, Fixer remediates) with detailed execution workflows. Use when working with content quality workflows, validation processes, audit reports, or implementing maker/checker/fixer agent roles.
| name | swe-developing-applications-common |
| description | Common software development workflow patterns shared across all language developer agents |
| created | "2026-01-25T00:00:00.000Z" |
This Skill provides universal development workflow guidance shared across all language-specific developer agents in the Open Sharia Enterprise platform.
Use this Skill when:
Standard Developer Tools: read, write, edit, glob, grep, bash
Tool Purposes:
Tool Selection Guidance:
This platform uses Nx for monorepo management with clear separation of concerns:
Apps (apps/[app-name]):
Libraries (libs/[lib-name]):
[language]-[name] (e.g., ts-utils, java-common)All target names follow Nx Target Standards. Use canonical names: dev (not serve), test:quick (not test), start (not serve for production).
Development:
nx dev [project-name] # Start development server (use 'dev', not 'serve')
nx start [project-name] # Start production server (use 'start', not 'serve')
Building:
nx build [project-name] # Build specific project
nx affected -t build # Build only affected projects
Testing:
nx run [project-name]:test:quick # Fast pre-push quality gate (mandatory for all projects)
nx run [project-name]:test:unit # Isolated unit tests
nx run [project-name]:test:integration # Tests requiring external services
nx run [project-name]:test:e2e # End-to-end tests (run via scheduled cron, not pre-push)
nx affected -t test:quick # Run quality gate for affected projects
Analysis:
nx graph # Visualize dependencies
nx affected:graph # Show affected dependency graph
Affected Commands Philosophy:
nx affected:* commandsCore Principle: All development happens on main branch
Branch Strategy:
main (all development work)prod-* (deployment only, never commit directly)Why Trunk Based Development?
Pattern: <type>(<scope>): <description>
Required Format:
Commit Types:
Examples:
feat(auth): add OAuth2 login support
fix(api): handle null response in user endpoint
docs(readme): update installation instructions
refactor(utils): simplify date formatting logic
test(auth): add integration tests for login flow
Split Commits by Domain:
Example (wrong):
git commit -m "feat(auth): add login + fix(api): fix bug + docs: update readme"
Example (correct):
git commit -m "feat(auth): add OAuth2 login support"
git commit -m "fix(api): handle null response in user endpoint"
git commit -m "docs(readme): update installation instructions"
CRITICAL: Never stage or commit unless explicitly instructed by user
Default Behavior:
git add automaticallygit commit automaticallyCommit Permission:
Why This Matters:
When code files are modified, Husky + lint-staged automatically run:
Pre-commit Hooks:
Commit-msg Hook:
Pre-push Hook:
test:quick for affected projects: Executes the fast quality gate (nx affected -t test:quick) — this is the canonical pre-push check. Every project must expose a test:quick target.Note:
test:e2edoes NOT run in the pre-push hook. It runs on a scheduled GitHub Actions cron job (twice daily per workflow) targeting each*-e2eproject. See Nx Target Standards for the full execution model.
Philosophy: Focus on code quality, let automation handle style
What This Means:
If Pre-commit Hook Fails:
Common Failures:
npm run lint:md:fix to auto-fixBefore implementing any changes, ensure the development environment is ready. This prevents wasted time on toolchain issues mid-implementation.
# Verify all tools are installed and at correct versions
npm run doctor
# If tools are missing, auto-install them
npm run doctor -- --fix
# Preview what would be installed (dry run)
npm run doctor -- --fix --dry-run
# Check only core tools (git, volta, node, npm, go, docker, jq)
npm run doctor -- --scope minimal
The repository uses rhino-cli for environment file management:
# Initialize .env files from .env.example templates
cargo run --release --quiet --manifest-path apps/rhino-cli/Cargo.toml -- env init
# Backup current .env files
cargo run --release --quiet --manifest-path apps/rhino-cli/Cargo.toml -- env backup
# Restore .env files from backup
cargo run --release --quiet --manifest-path apps/rhino-cli/Cargo.toml -- env restore --force
# Restore including config files (AI tool settings, Docker overrides, etc.)
cargo run --release --quiet --manifest-path apps/rhino-cli/Cargo.toml -- env restore --force --include-config
npm install AND npm run doctor -- --fix in the root repository worktree, in that order. This is a mandatory two-step init; the postinstall hook's implicit doctor || true does NOT substitute for the explicit doctor --fix call. See Worktree Toolchain Initializationpackage.json, go.mod, .tool-versions, or other version confignpm run doctor firstFor complete step-by-step environment setup (new machine, fresh OS, or broken toolchain), see: Development Environment Setup Workflow
All language developers follow this pattern:
Make it work → Make it right → Make it fast
Avoid:
All language developers reference:
Each language has authoritative coding standards in:
docs/explanation/software-engineering/programming-languages/[language]/README.md
Examples:
docs/explanation/software-engineering/programming-languages/typescript/README.mddocs/explanation/software-engineering/programming-languages/java/README.mddocs/explanation/software-engineering/programming-languages/python/README.mddocs/explanation/software-engineering/programming-languages/elixir/README.mddocs/explanation/software-engineering/programming-languages/golang/README.mdEach language README covers:
TDD is required for all code changes across every language. Write the failing test first, confirm it fails for the right reason, implement the minimum code to pass, then refactor. This rule applies at every test level — unit, integration, E2E, contract, property/fuzz, snapshot/visual, manual verification, performance, and accessibility. Pick the cheapest level that meaningfully captures the behavior under change.
Manual verification is TDD-compatible when it is a written, dated, repeatable script with
discrete expected observations — not an informal "click around" check. Use Playwright MCP for UI
and curl for API verification. Promote manual scripts to automated tests whenever feasible.
Mini-TDD passes are encouraged: split a feature into multiple small Red→Green→Refactor cycles, one per behavior. Each cycle is independently committable.
Canonical reference: Test-Driven Development Convention — covers the full Red→Green→Refactor cycle, all test levels, the "Scope: Which Tests TDD Covers" table, manual verification guidance, and applying TDD to delivery checklists.
See also: Manual Behavioral Verification, Three-Level Testing Standard.
Workflow Conventions:
main; see Plans Organization Convention §Delivery Mode for how a plan reaches main — worktree-to-pr is the default)[AI] merges by default once the five hardened preconditions hold; a [HUMAN] merge gate is an explicit per-plan opt-in; all quality gates must pass before mergeQuality Conventions:
Architecture Conventions:
Language-specific skills provide deep expertise for each language:
swe-programming-typescript - TypeScript idioms, patterns, frameworksswe-programming-java - Java idioms, patterns, frameworksswe-programming-python - Python idioms, patterns, frameworksswe-programming-elixir - Elixir idioms, OTP patterns, Phoenixswe-programming-golang - Go idioms, patterns, frameworksNote: This Skill provides universal workflow guidance. Language-specific development patterns are in dedicated language skills.