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
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.
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
Workflow pattern standards for creating multi-agent orchestrations including YAML frontmatter (name, description, tags, status, agents, parameters), execution phases (sequential/parallel/conditional), agent coordination patterns, and Gherkin success criteria. Essential for defining reusable, validated workflow processes.
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.
Universal methodology for verifying factual correctness in documentation using WebSearch and WebFetch tools. Covers command syntax verification, version checking, code example validation, API correctness, confidence classification system ([Verified], [Error], [Outdated], [Unverified]), source prioritization, and update frequency rules. Essential for maintaining factual accuracy in technical documentation and educational content
| name | swe-developing-applications-common |
| description | Common software development workflow patterns shared across all language developer agents |
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
CGO_ENABLED=0 go run -C apps/rhino-cli main.go env init
# Backup current .env files
CGO_ENABLED=0 go run -C apps/rhino-cli main.go env backup
# Restore .env files from backup
CGO_ENABLED=0 go run -C apps/rhino-cli main.go env restore --force
# Restore including config files (AI tool settings, Docker overrides, etc.)
CGO_ENABLED=0 go run -C apps/rhino-cli main.go 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:
Every code change follows this cycle — no exceptions:
# RED: write failing test
nx run my-project:test:unit # FAIL — function not defined
# GREEN: implement minimum to pass
nx run my-project:test:unit # PASS
# REFACTOR: clean up; verify still green
nx run my-project:test:unit # PASS
Commit each phase separately (TDD order):
git commit -m "test(auth): add failing email validation test"
git commit -m "feat(auth): implement email validation"
git commit -m "refactor(auth): extract regex constant"
See: Test-Driven Development Convention for the full mandate, mini-TDD cycles, and how TDD applies to plan delivery checklists.
Make it work → Make it right → Make it fast — with TDD driving each stage:
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:
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.