Agent Skillsnasa/fprime › fprime-component-development

fprime-component-development

GitHub

指导F Prime飞行软件组件的全生命周期开发,涵盖需求、设计、实现及测试阶段。强调严格遵循流程、用户确认及TDD模式,适用于新建或重大功能变更场景。

.github/skills/fprime-component-development/SKILL.md nasa/fprime

Trigger Scenarios

创建新的F Prime组件 为现有组件添加显著新功能 涉及接口变更的组件重构

Install

npx skills add nasa/fprime --skill fprime-component-development -g -y
More Options

Non-standard path

npx skills add https://github.com/nasa/fprime/tree/devel/.github/skills/fprime-component-development -g -y

Use without installing

npx skills use nasa/fprime@fprime-component-development

指定 Agent (Claude Code)

npx skills add nasa/fprime --skill fprime-component-development -a claude-code -g -y

安装 repo 全部 skill

npx skills add nasa/fprime --all -g -y

预览 repo 内 skill

npx skills add nasa/fprime --list

SKILL.md

Frontmatter
{
    "name": "fprime-component-development",
    "description": "Top-level flight development process for F Prime components. Orchestrates the full lifecycle from requirements through integration testing. Trigger on any task involving creating a new F Prime component or adding significant functionality to an existing one. Keywords: F Prime, component, development, lifecycle, flight software, requirements, design, implementation, unit test, integration test."
}

Skill: F Prime Component Development Process

The flight development process for F Prime components follows a strict sequential lifecycle. Each phase produces artifacts that feed the next. Never skip a phase or guess at requirements/design decisions — always ask the user.

For the canonical process description, see the F´ Development Process.


Process Overview

1. Requirements  →  2. Design (FPP)  →  3. Implementation (C++)  →  4. Unit Test  →  5. Integration Test

Each phase has a dedicated skill with detailed guidance:

Phase Skill Key Output
1. Requirements fprime-component-requirements Written requirements list
2. Design fprime-component-design-fpp .fpp model file
3. Implementation fprime-component-implementation .cpp / .hpp files
4. Unit Test fprime-component-unit-test test/ut/ test suite
5. Integration Test fprime-component-integration-test test/int/ pytest suite

Cardinal Rules

  1. Ask, don't guess. If you are unsure about a requirement, interface, behavior, naming convention, or deployment context — stop and ask the user. Wrong assumptions in flight software are costly.

  2. Each phase gates the next — with explicit user approval. Present the requirements to the user and obtain approval before starting design. Present the design (FPP model, port layout, behavior, and any configuration) to the user and obtain explicit confirmation before writing any implementation or unit-test code. This applies even to trivial or pass-through components; simplicity does not waive the gate. Once the model is confirmed, you may write tests against it following the test-driven development pattern (see docs/how-to/test-driven-development.md).

  3. Reference the C++ design skill. All implementation must comply with fprime-cpp-design (CPP-1 through CPP-34). Consult it before writing any C++ code.

  4. Follow Test-Driven Development when possible. The recommended F Prime workflow is: design in FPP → write tests → implement to pass tests. See the TDD guide.

  5. Document as you go. Each component should have an SDD (docs/sdd.md) that records requirements coverage, port descriptions, and design rationale.


When to Use This Skill

  • Creating a new component from scratch
  • Adding significant new functionality to an existing component (new ports, commands, telemetry, state machines)
  • Migrating or refactoring a component where the interface changes

For small bug fixes or implementation-only changes that don't alter the component's interface, you may skip directly to the implementation and unit test phases — but confirm with the user first.


Quick Reference: Key Commands

Action Command
Create new component fprime-util new --component
Create new port fprime-util new --port
Generate impl stubs fprime-util impl
Generate UT stubs fprime-util impl --ut
Build component fprime-util build
Run unit tests fprime-util check
Run with coverage fprime-util check --coverage
Generate UT build fprime-util generate --ut
Scaffold rule-based tests fprime-util new --rule-based-test

Version History

  • 7d8f579 Current 2026-08-20 11:33

Same Skill Collection

.github/skills/agent-skill-authoring/SKILL.md
.github/skills/ci-test-runtime-policy/SKILL.md
.github/skills/fprime-cmake-build-system/SKILL.md
.github/skills/fprime-component-design-fpp/SKILL.md
.github/skills/fprime-component-implementation/SKILL.md
.github/skills/fprime-component-integration-test/SKILL.md
.github/skills/fprime-component-requirements/SKILL.md
.github/skills/fprime-component-unit-test/SKILL.md
.github/skills/fprime-ground-input-tracing/SKILL.md
.github/skills/fprime-hardware-input-tracing/SKILL.md
.github/skills/fprime-topology-development/SKILL.md
.github/skills/fprime-unit-testing/SKILL.md
.github/skills/jpl-design-principles/SKILL.md
.github/skills/maintainer-lookup/SKILL.md
.github/skills/post-inline-review/SKILL.md
.github/skills/pr-diff-scoping/SKILL.md
.github/skills/prompt-injection-precheck/SKILL.md
.github/skills/re-review-state/SKILL.md
.github/skills/triage-classifier/SKILL.md
.github/skills/write-system-functional-doc/SKILL.md
.github/skills/fprime-cpp-design/SKILL.md

Metadata

Files
0
Version
efce12d
Hash
29086475
Indexed
2026-08-20 11:33

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-17 05:31
浙ICP备14020137号-1