Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
codeplain-ai avatar

Add Implementation Requirement

  • 42 installs
  • 54 repo stars
  • Updated July 22, 2026
  • codeplain-ai/plain-forge

Add an implementation requirement (tech choices, architecture, coding standards) to the implementation reqs section of a ***plain spec file.

About

Adds a non-functional implementation requirement to the ***implementation reqs*** section of a ***plain spec file. A developer uses it to steer code generation with technology, architecture, or coding-standard guidance.

  • Adds HOW-to-build guidance to the ***implementation reqs*** section
  • Covers tech choices, architecture, coding standards, and error handling

Add Implementation Requirement by the numbers

  • 42 all-time installs (skills.sh)
  • Ranked #350 of 782 Skill Development skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/codeplain-ai/plain-forge --skill add-implementation-requirement

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs42
repo stars54
Last updatedJuly 22, 2026
Repositorycodeplain-ai/plain-forge

What it does

Add an implementation requirement (tech choices, architecture, coding standards) to the implementation reqs section of a ***plain spec file.

Files

SKILL.mdMarkdownGitHub ↗

Add Implementation Requirement

Always use the skill load-plain-reference to retrieve the ***plain syntax rules — but only if you haven't done so yet.

Workflow

1. Identify the target `.plain` file. If ambiguous, ask the user. 2. Read the file to understand existing implementation reqs, definitions, and functional specs. 3. Determine if this belongs in implementation reqs — it must describe HOW to build, not WHAT to build (that goes in ***functional specs***). 4. Draft the requirement following the rules below. 5. Insert it into the ***implementation reqs*** section. 6. Read the file again to confirm correct placement and syntax.

What Belongs Here

Implementation reqs are free-form instructions that steer code generation. Common contents:

  • Technology choices: language, framework, runtime version
  • Architectural constraints: patterns, layering, dependency rules
  • Coding standards: naming conventions, style guidelines
  • Data formats: serialization, encoding, transformation rules
  • Error handling: strategies, retry logic, exception hierarchies
  • Algorithm descriptions: specific approaches when behavior alone is insufficient
  • Performance guidance: memory constraints, streaming requirements, batching strategies
  • Language-specific constructs: generics, annotations, framework-specific types and idioms

What Does NOT Belong Here

  • Behavior and features — those go in ***functional specs***
  • Concept definitions — those go in ***definitions***
  • Conformance-test instructions — those go in ***test reqs***. Note: unit-test instructions belong HERE, not in ***test reqs*** — see Unit-test guidance belongs here below

Unit-test guidance belongs here

Everything about `:UnitTests:` goes in `implementation reqs` — paths, approach, packages, framework (JUnit / pytest / Jest / Go's testing / …), conventions, fixtures, mocking policy, file layout, naming, lint / static-analysis gates. Unit tests are part of the generated codebase, so requirements that shape them are implementation reqs by definition.

  • The unit-test generator reads only ***implementation reqs***; anything about :UnitTests: placed in ***test reqs*** is silently ignored
  • Phrase each :UnitTests: requirement in terms of the predefined :UnitTests: concept so the partition stays visible at a glance
  • ***test reqs*** is exclusively for :ConformanceTests: — see `add-test-requirement`

Key Principle: HOW vs WHAT

***implementation reqs*** describe HOW the software should be built. ***functional specs*** describe WHAT the software should do.

If the requirement describes observable behavior (endpoints, business rules, user-facing features), it belongs in functional specs. If it describes internal structure, technology, or coding guidance, it belongs here.

Format

Implementation reqs are bullet points in the ***implementation reqs*** section:

***implementation reqs***
- :Implementation: should be in Python 3.12.
- :Implementation: should use pip for dependency management.
- When writing CSV files, :Implementation: should use streaming writes to avoid holding large datasets in memory.

Reference defined :Concepts: where they add clarity. Implementation reqs in non-leaf sections apply to all subsections.

Line syntax (hard rule)

Every line inside a section must be its own list item starting with `- `. *plain has no concept of bare continuation lines — indented prose without a leading `- ` is invalid syntax** and the renderer will reject it.

  • Hard limit: 120 characters per line. If a sentence is too long, split it at a natural clause boundary into nested `- ` bullets — never wrap onto an unprefixed line.
  • Nested detail is also a - item, indented under its parent. The indentation alone is not enough; the leading - is required.

BAD — bare continuation lines (invalid ***plain syntax, will not render):

- :Implementation: tech stack will be finalized in Phase 2.
  - Until then, treat this section as a placeholder so the renderer accepts
    the file. Phase 2 will replace this with language, framework, HTTP
    client, packaging, and architecture decisions.

GOOD — every line starts with - :

- :Implementation: tech stack will be finalized in Phase 2.
  - Until then, treat this section as a placeholder so the renderer accepts the file.
  - Phase 2 will replace it with language, framework, HTTP client, packaging, and architecture decisions.

Encapsulation Warning

requires modules only receive functional specs from their dependencies — not implementation reqs. If downstream modules need certain behavior to be visible, that behavior must be expressed in functional specs, not here.

Validation Checklist

  • [ ] Describes HOW to build, not WHAT to build
  • [ ] All referenced :Concepts: are defined in ***definitions***
  • [ ] Does not duplicate guidance already present in the file or its imports
  • [ ] Placed inside a ***implementation reqs*** section
  • [ ] No behavioral requirements that should be in ***functional specs***

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.