| name | skill-design-philosophy |
|---|---|
| description | Apply when designing new skills, reviewing skill implementations, or questioning how skills should interact with target repositories and who owns ongoing process decisions. |
| decision | Design skills to bootstrap opinionated defaults, then defer to documented decisions in target repositories. |
| status | accepted |
Date: 2026-01-07 Deciders: development-skills maintainers Tags: process, skills, architecture
This repository contains skills that help agents bootstrap best practices (TDD, issue-driven workflows, documentation standards, etc.) for greenfield and brownfield projects. However, there is ambiguity about the boundary between skill responsibility and target repository ownership.
Key questions that arise:
- Once a process is established in a target repo, who owns it?
- Should agents constantly re-apply skills, or defer to documented decisions?
- How do agents know when a decision has been captured?
- How should skills remain platform and agent agnostic while providing opinionated defaults?
- Agent/platform agnostic: Skills should work with any agent (Claude, Codex, etc.) and any platform (GitHub, Azure DevOps, GitLab)
- Self-documenting target repos: Target repositories should capture decisions so they become discoverable without skill knowledge
- Reduced agent noise: Agents shouldn't constantly re-prompt for decisions that have already been made
- Composable skills: Skills should remain independent and non-overlapping to enable multi-skill application
- Reusable across projects: Skills should provide value across many repositories without requiring per-project customization
Skills are re-evaluated every time they might be relevant, regardless of existing decisions.
Pros:
- Ensures latest best practices are always applied
- No risk of stale decisions
Cons:
- Decision fatigue from repeated prompts
- Undermines target repo autonomy
- Agents may override intentional deviations
Skills apply once during initial setup, then never re-apply.
Pros:
- Clear ownership transfer to target repo
- No repeated prompts
Cons:
- Prevents beneficial skill evolution from reaching existing projects
- No mechanism for intentional reconsideration
- Hard boundary creates adoption friction
Skills define processes with opinionated defaults. Target repos capture decisions. Agents defer to documented decisions unless explicitly prompted to reconsider.
Pros:
- Clear responsibility boundary between skills and target repos
- Respects target repo autonomy while enabling skill updates
- Explicit override mechanism for intentional reconsideration
- Reduces noise while preserving flexibility
Cons:
- Requires discipline to capture decisions in target repos
- Initial setup requires more documentation effort
- Detection mechanism adds agent complexity
Chosen option: "Hybrid Bootstrap + Defer to Documented Decisions", because it provides the best balance between skill guidance and target repository autonomy while maintaining explicit override capabilities.
- Skills define process with opinionated defaults - Skills establish best practices, recommended workflows, and default configurations
- Target repo captures decisions - Once applied, decisions are documented in the target repository (ADR, playbook, AGENTS.md, or standards file)
- Documented decisions become "the way" - The target repo's documentation becomes the source of truth for that project
- Agents defer to documented decisions - Unless explicitly prompted, agents respect existing documented decisions
Agents detect existing decisions by checking these locations in the target repository:
| Location | Decision Types |
|---|---|
docs/adr/ |
Major architectural decisions, tooling choices |
docs/playbooks/ |
Operational procedures with explicit triggers |
AGENTS.md |
Agent execution rules, workflow requirements |
docs/coding-standards.md |
Coding practices, testing conventions |
docs/ways-of-working/ |
Process documentation, team workflows |
docs/exclusions.md |
Patterns explicitly declined |
What constitutes a "documented decision":
A decision is considered documented when it explicitly answers the core question the skill addresses. For example:
- TDD skill asks: "Do we write tests first?"
- Sufficient: "This project follows TDD with RED/GREEN/REFACTOR workflow"
- Insufficient: "We write tests" (doesn't specify when or how)
Reference: The existing Documentation Mapping table in AGENTS.md provides additional
guidance on file-to-concept mappings.
When a skill is applied and a decision is made, capture it in the appropriate location:
| Decision Type | Capture Location |
|---|---|
| Major architecture or tooling decision | ADR in docs/adr/ |
| Operational procedure with triggers | Playbook in docs/playbooks/ |
| Agent execution rule or workflow | AGENTS.md |
| Coding practice or convention | docs/coding-standards.md |
| Declined pattern with reason | docs/exclusions.md |
Agents should defer to documented decisions by default. However, these explicit phrases override deference behavior and trigger re-application:
- "Re-apply {skill-name}"
- "Reconsider {process-name}"
- "Reset {pattern} to skill defaults"
- "Run {skill-name} again"
Without these explicit triggers, agents should respect existing documented decisions and not re-prompt for decisions already captured.
- Target repos become self-documenting - All process decisions are captured in discoverable locations within the repository
- Reduced decision fatigue - Agents don't constantly re-prompt for known decisions
- Skills remain reusable - Same skill works across many projects without modification
- Clear responsibility boundary - Skills own "best practice guidance", repos own "our implementation"
- Explicit override capability - Intentional reconsideration is always possible
- Requires discipline - Team must consistently capture decisions when skills are applied
- Stale decision risk - Target repos may accumulate decisions that no longer apply; requires periodic review (future enhancement opportunity)
- Initial documentation overhead - First-time setup requires more documentation effort than informal approaches
- Detection complexity - Agents must implement detection logic for documented decisions
Skill establishes:
- RED/GREEN/REFACTOR workflow
- Write failing tests before implementation
- BDD checklists for documentation changes
Target repo captures in docs/coding-standards.md:
## Test-Driven Development
This project follows TDD for all code changes:
1. **RED**: Write a failing test that defines the expected behavior
2. **GREEN**: Implement minimum code to make the test pass
3. **REFACTOR**: Clean up while keeping tests green
For documentation changes, BDD checklists serve as tests. Create a failing checklist
before making changes, verify it passes after.Agent behavior after capture:
- Agent detects TDD decision in
docs/coding-standards.md - Agent follows documented TDD workflow without re-prompting for TDD adoption
- Agent only reconsiders if user says "Reconsider TDD approach"
Skill establishes:
- All non-read-only work requires a Taskboard issue
- Traceability through commit references
- Evidence requirements at state transitions
Target repo captures in AGENTS.md:
## Agent Execution Rules
- **No changes without a Taskboard issue.** All non-read-only work must be tied
to a Taskboard issue before starting work. Create the issue first, then begin.
- **Read-only work** (no ticket required): Code viewing, analysis, research
- **Non-read-only work** (ticket required): File edits, commits, PRs, branchesAgent behavior after capture:
- Agent detects issue-driven rule in
AGENTS.md - Agent requires issue before making changes (as documented)
- Agent doesn't re-prompt about whether to use issue-driven workflow
Skill defines (platform agnostic):
- "Use a CI/CD platform for automated builds"
- Options: GitHub Actions, Azure DevOps Pipelines, GitLab CI, Jenkins
Target repo captures in ADR:
---
name: use-github-actions
description: |
Apply when configuring CI/CD pipelines or discussing build automation.
decision: Use GitHub Actions for all CI/CD pipelines.
status: accepted
---Agent behavior after capture:
- Agent detects CI/CD decision in
docs/adr/ - Agent configures workflows for GitHub Actions specifically
- Agent doesn't prompt about which CI/CD platform to use
These behaviors indicate the skill design philosophy is not being followed:
-
Constant re-prompting - Skill repeatedly asks about decisions already documented in target repo (detection mechanism not working or not implemented)
-
Ignoring documentation - Agent applies skill defaults despite documented decisions in target repo (deference pattern not implemented)
-
Skill-specific documentation - Creating files like
docs/conventions/tdd-skill.mdinstead of human-centric locations likedocs/coding-standards.md(violates human-centric documentation principle) -
Partial capture - Documenting "we use TDD" without specifying the actual workflow, leaving ambiguity that causes repeated clarification requests
- AGENTS.md Documentation Mapping - Existing guidance on human-centric documentation locations
- ADR-0000: Use ADRs - Establishes ADR format for this repository