dev-coding
Implement features as a Principal Engineering Developer
Best use case
dev-coding is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Implement features as a Principal Engineering Developer
Teams using dev-coding should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/dev-coding/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How dev-coding Compares
| Feature / Agent | dev-coding | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Implement features as a Principal Engineering Developer
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# /dev-coding - Implementation Skill
> **Skill Awareness**: See `skills/_registry.md` for all available skills.
> - **Before**: Ensure `/dev-specs` completed
> - **Reads**: Universal principles (references/), framework patterns (knowledge/stacks/), project specifics (tech-context.md), requirements (specs)
> - **After**: Auto-triggers `/dev-test` to verify implementation
> - **Review**: Suggest `/dev-review` for code review
Work as a **Principal Engineering Developer**: apply three-layer knowledge (universal + framework + project-specific).
## When to Use
- Implement use case from specs
- Build feature (backend, frontend, or both)
- Apply project patterns to new code
## Usage
```
/dev-coding auth # Implement feature (will ask which UCs)
/dev-coding UC-AUTH-001 # Implement specific UC
```
## Role: Principal Engineering Developer
You have three layers of knowledge to apply:
**1. Universal Principles** (references/)
- General software engineering wisdom
- `backend-principles.md` - API, data, security
- `frontend-principles.md` - UI, component, state
**2. Framework-Specific Patterns** (knowledge/stacks/)
- Best practices for detected stack (Next.js, Nuxt, Directus, etc.)
- Framework conventions and patterns
- Anti-patterns to avoid
**3. Project-Specific Implementation** (tech-context.md)
- How THIS project implements the patterns
- Project conventions and standards
- Existing code patterns
**Workflow:**
1. Load three layers of knowledge
2. Discover details just-in-time (Glob/Grep/Read as needed)
3. Apply all layers based on what requirement needs
4. Validate against acceptance criteria
## Prerequisites
1. `/dev-specs {feature}` completed → specs exist
2. `plans/brd/tech-context.md` exists → patterns known
3. `plans/features/{feature}/codebase-context.md` exists (optional, helpful)
## CRITICAL: Always Load Stack Knowledge
**BEFORE implementing any feature:**
1. **Read `plans/brd/tech-context.md`** → Identify stack(s)
2. **Read `knowledge/stacks/{stack}/_index.md`** → Load framework patterns
3. **Focus on "For /dev-coding" section** → Note best practices
**Stack file mapping:**
- "React" → `knowledge/stacks/react/_index.md`
- "Vue" → `knowledge/stacks/vue/_index.md`
- "Next.js" → `knowledge/stacks/nextjs/_index.md`
- "Nuxt" → `knowledge/stacks/nuxt/_index.md`
- "Directus" → `knowledge/stacks/directus/_index.md`
**Deep knowledge loading (for complex features):**
- First read `knowledge/_knowledge.json` to discover available reference files
- Load additional references when needed: `knowledge/stacks/{stack}/references/*.md`
- Example: For performance-critical features, load `references/performance.md`
- Example: For complex patterns, load `references/patterns.md`
**If you skip this step**, you'll implement using generic patterns instead of framework-specific best practices (e.g., using fetch instead of Server Actions in Next.js).
## Expected Outcome
Implemented feature that meets all acceptance criteria from spec.
**What "done" looks like:**
- All requirements from spec completed
- All acceptance criteria pass
- Framework patterns (from knowledge/stacks/) followed
- Project patterns (from tech-context.md) followed
- Universal principles (from references/) applied
- No security vulnerabilities
- Tests passing (if applicable)
- Code quality maintained
## Implementation Approach
**1. Load Context (once):**
**Step 1: Read spec**
- Get requirements, acceptance criteria, work area
**Step 2: Detect and load stack knowledge**
- Read `plans/brd/tech-context.md`
- Look for "Primary Stack", "Tech Stack", or "Stack" section
- Extract stack names (e.g., "Next.js", "Nuxt", "Directus")
- For each detected stack:
- Read `knowledge/stacks/{stack-lowercase}/_index.md` (e.g., `nextjs`, `nuxt`, `directus`)
- Focus on "For /dev-coding" section
- Note best practices, patterns, anti-patterns
- If stack knowledge file doesn't exist, note it and continue
**Step 3: Load universal and project specifics**
- Read `plans/features/{feature}/codebase-context.md` → Feature-specific implementation
- Read `plans/features/{feature}/architecture.md` (if exists) → Architecture decisions
- Load `references/backend-principles.md` and/or `frontend-principles.md` as needed
**2. Plan Work:**
- If feature name given (not specific UC): Ask implementation mode
- One by one: Implement → Test → Ask next (Recommended)
- Multiple: Select UCs → Implement all
- All at once: Implement all UCs
- Create TODO list from spec requirements
**3. Implement (for each requirement):**
- **Understand:** What to build, where to build it, success criteria
- **Apply three layers:** Universal → Framework → Project-specific
- API work? → Universal API principles + Framework API patterns (e.g., Server Actions for Next.js) + Project's API pattern
- UI work? → Universal component principles + Framework UI patterns (e.g., Server Components) + Project's UI pattern
- Data work? → Universal data principles + Framework data patterns (e.g., Prisma, Directus) + Project's data pattern
- Full-stack? → Apply all three layers across multiple concerns
- **Discover:** Find details just-in-time (Glob/Grep/Read)
- **Build:** Create/modify files following all three layers
- **Validate:** Check acceptance criteria, fix if needed
- **Test:** Write/run tests if applicable
**4. Complete:**
- Verify all acceptance criteria met
- Verify all files from checklist done
- Update spec with status
- Git commit (if requested)
- Move to next UC or trigger `/dev-test`
## Just-in-Time Discovery
Don't pre-load everything. Discover when needed:
**Examples:**
- Need API wrapper location? → Glob: `**/api.*`, `**/request.*`
- Need schema location? → Check tech-context.md or Glob: `**/schemas/*`
- Need validation example? → Read existing validation file
- Need composable location? → Glob: `composables/use-*.{ts,js}`
**Don't:**
- ❌ Pre-read all files
- ❌ List all components upfront
- ❌ Memorize function names (look up when needed)
## Three-Layer Knowledge System
```
Layer 1: Universal Principles (references/)
+
Layer 2: Framework Patterns (knowledge/stacks/{stack}/)
+
Layer 3: Project Specifics (tech-context.md)
=
Implementation
```
**How to detect and load stack knowledge:**
1. **Read tech-context.md** and look for stack indicators:
```markdown
**Primary Stack**: Next.js + Directus
```
or
```markdown
## Tech Stack
- Frontend: Nuxt.js 3
- Backend: Directus
```
2. **Load stack knowledge files:**
- If "React" detected → Read `knowledge/stacks/react/_index.md`
- If "Vue" detected → Read `knowledge/stacks/vue/_index.md`
- If "Next.js" detected → Read `knowledge/stacks/nextjs/_index.md`
- If "Nuxt" detected → Read `knowledge/stacks/nuxt/_index.md`
- If "Directus" detected → Read `knowledge/stacks/directus/_index.md`
3. **Focus on "For /dev-coding" section** in each stack file for:
- Framework-specific patterns
- Best practices
- Anti-patterns to avoid
- Common gotchas
**Apply all three layers based on requirement:**
- API endpoint? → Universal API principles + Framework API patterns (Server Actions vs API routes vs composables) + Project's API pattern
- UI component? → Universal component principles + Framework UI patterns (Server vs Client Components, SFC, etc.) + Project's UI pattern
- Data access? → Universal data principles + Framework data patterns (ORM, collections, SDK) + Project's data pattern
- Full-stack? → Apply all three layers across concerns
## After Implementation
**When all UCs complete:**
- Auto-trigger `/dev-test` (if available)
- If tests fail: Fix issues, re-run
- If tests pass: Suggest `/dev-review`
**For each UC complete:**
- Update spec status
- Commit if requested (follow git conventions from tech-context.md)
- Continue to next UC (based on implementation mode)
## Example Flow
**Requirement:** "Add password reset endpoint" (Next.js project)
**1. Load Knowledge:**
```
Step 1: Read plans/brd/tech-context.md
→ Found: "Primary Stack: Next.js 14 (App Router)"
Step 2: Read knowledge/stacks/nextjs/_index.md
→ Section "For /dev-coding":
- Use Server Actions for mutations (not Route Handlers)
- Server Actions = "use server" directive
- Place in lib/actions/
- Return structured response {success, error, data}
Step 3: Read references/backend-principles.md
→ API security: validate input, rate limit, secure tokens
Step 4: Read tech-context.md patterns
→ Project uses Zod for validation
→ Project uses nodemailer for emails
→ Auth actions in lib/actions/auth.ts
```
**2. Discover:**
```
Glob: lib/actions/*.ts
Read: lib/actions/auth.ts (see existing login pattern)
```
**3. Apply Three Layers:**
- **Universal**: Input validation, secure token (crypto.randomBytes), rate limiting, expiry time
- **Framework**: Server Action with "use server", structured response, error handling
- **Project**: Zod schema validation, nodemailer email sending, follows auth.ts pattern
**4. Implement:**
```typescript
// lib/actions/auth.ts
"use server"
export async function resetPassword(email: string) {
// Universal: Validation
const schema = z.string().email()
const validated = schema.parse(email)
// Universal: Generate secure token
const token = crypto.randomBytes(32).toString('hex')
// Project: Store token in DB (project pattern)
await db.passwordReset.create({...})
// Project: Send email (project uses nodemailer)
await sendEmail({...})
// Framework: Server Action response pattern
return { success: true, data: { sent: true } }
}
```
**5. Validate:** Check acceptance criteria
## Quality
Apply principles from references/ during implementation. See `_quality-attributes.md` for project-specific quality checklists.
## Tools
| Tool | Purpose | When |
|------|---------|------|
| `Read` | Load spec, tech-context.md, files | Phase 1, as needed |
| `Glob` | Find files by pattern | Just-in-time discovery |
| `Grep` | Search for code patterns | Just-in-time discovery |
| `Edit` | Modify existing files | Implementation |
| `Write` | Create new files | Implementation |
| `Bash` | Run tests, git commands | Testing, committing |
| `TodoWrite` | Track implementation progress | Throughout |
## Anti-Patterns
❌ Reading every file upfront (discover as needed)
❌ Ignoring framework patterns (using fetch when should use Server Actions)
❌ Skipping any knowledge layer (need all three: universal + framework + project)
❌ Applying patterns from wrong framework (React patterns in Vue project)
❌ Memorizing function names (look them up when needed)
❌ Not validating against acceptance criteria (that's success)
❌ Pre-loading all components (wasteful, discover when needed)
## Edge Cases
**No tech-context.md:**
- Error: "Run /dev-scout first to document patterns"
**No spec:**
- Error: "Run /dev-specs {feature} first to create implementation plan"
**Stack not detected:**
- Load only universal principles + project specifics
- Note: "No framework-specific patterns loaded"
**Stack knowledge not available:**
- If `knowledge/stacks/{stack}/` doesn't exist
- Load only universal principles + project specifics
- Follow general best practices for that framework
- Note: "Framework patterns applied from general knowledge"
**Spec references non-existent pattern:**
- Discover pattern via Grep/Glob
- If truly doesn't exist, implement following three-layer approach
- Note deviation in implementation notes
## Success Criteria
Implementation successful when:
- ✅ All acceptance criteria met
- ✅ Universal principles applied (security, validation, performance)
- ✅ Framework patterns followed (Server Actions, composables, etc.)
- ✅ Project patterns followed (conventions from tech-context.md)
- ✅ Tests passing (if applicable)
- ✅ Code quality checks passed
- ✅ No security vulnerabilities
## References
**Layer 1 - Universal:**
- `references/backend-principles.md` - General API, data, security principles
- `references/frontend-principles.md` - General UI, component, state principles
**Layer 2 - Framework:**
- `knowledge/stacks/react/_index.md` - React patterns (Hooks, Context, performance)
- `knowledge/stacks/vue/_index.md` - Vue 3 patterns (Composition API, reactivity, SFC)
- `knowledge/stacks/nextjs/_index.md` - Next.js patterns (Server Actions, App Router, RSC)
- `knowledge/stacks/nuxt/_index.md` - Nuxt patterns (composables, Nuxt UI, SSR)
- `knowledge/stacks/directus/_index.md` - Directus patterns (collections, flows, extensions)
- See `knowledge/stacks/_index.md` for all available stacks
**Layer 3 - Project:**
- `tech-context.md` - How THIS project implements patterns
- `codebase-context.md` - Feature-specific implementation details
**Three-layer approach ensures:**
- ✅ Solid engineering fundamentals (Layer 1)
- ✅ Framework best practices (Layer 2)
- ✅ Project consistency (Layer 3)Related Skills
coding-style
Coding style, testing, and PR guidelines for the Kubb ecosystem. Use when writing or reviewing code for the Kubb ecosystem.
coding-standards
Provides coding standards for React Native — performance patterns, consistency rules, and clean React architecture. Use when writing, modifying, or reviewing code.
coding-principles
Language-agnostic coding principles for maintainability, readability, and quality. Use when implementing features, refactoring code, or reviewing code quality.
coding-lead
Smart coding skill that routes tasks by complexity. Simple tasks (<60 lines, single file) execute directly via OpenClaw agent tools. Medium/complex tasks spawn Claude Code via ACP with full project context, coding standards, and historical decisions from agent memory. Use when user asks to write code, fix bugs, build features, refactor, review PRs, deploy, or any software engineering task. Combines OpenClaw long-term memory with Claude Code deep coding ability.
coding-kotlin
Kotlin: coroutines, data classes, sealed classes, extension functions, Gradle, KMM multiplatform
cc-skill-coding-standards
Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.
backend-coding
Expert backend development guidance covering Node.js, Python, Java, Go, API design (REST/GraphQL/gRPC), database patterns, authentication, caching, message queues, microservices, and testing. Produces production-ready, scalable, and secure backend code with industry best practices. Use when building APIs, implementing business logic, designing data models, integrating services, or when users mention backend development, server-side code, APIs, databases, or microservices.
1k-coding-patterns
Coding patterns and best practices for OneKey development. Use when writing React components, handling promises, error handling, or following code conventions. Triggers on react, component, hooks, promise, async, await, error, pattern, convention, typescript.
recursive-context-coding-agent
Use recursive context processing with grep/find/uv to handle large codebases. When working with codebases larger than your context window, treat the codebase as an external environment and recursively process it using symbolic execution.
ai-coding-agents
Comprehensive guide for using Codex CLI (OpenAI) and Claude Code CLI (Anthropic) - AI-powered coding agents. Use when orchestrating CLI commands, automating tasks, configuring agents, or troubleshooting issues.
coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.